我在Korn Shell中运行,并试图运行我编写的简单chdb脚本。如果在没有参数的情况下运行,它会提示用户列出数据库并等待选择。如果使用单个数字参数调用,它将自动为用户选择。Shell脚本在第二次运行时使用第一次运行的参数
例子:
> . chdb
Select the database sid from the following:
1) testdb1
2) testdb2
3) testdb3
Selection: 2 <-- user entered
Environment is now set up for testdb2.
>. chdb 2
Environment is now set up for testdb2.
>
我的问题是,当我带参数运行脚本上面,然后尝试不带参数运行它,它仍然使用旧的参数。
例子:
> . chdb 2
Environment is now set up for testdb2.
> . chdb
Environment is now set up for testdb2.
>
编辑:我使用的是点,因为我在环境中设置变量和不希望调用子shell的实例,否则数据库将行不通。我有一种感觉,这可能是我的问题的来源,但我不知道如何解决它。
可能值得一提的另一件事是,至少调用我的脚本至少有一个参数将始终按预期工作。它从不使用先前输入的参数,除非它被调用时没有参数。
好的建议,但这些都不适合我。但是,我只是意识到,只有在首先使用点调用我的脚本(> .chdb 2)时才会出现此问题。我一直在使用别名,所以忘了提及它。 我使用点,因为我在环境中设置变量,不想调用子shell实例,否则数据库设置将无法工作。我的问题是这个副作用吗?有没有办法解决这个问题? – dpatchery 2010-06-29 14:14:56