如何在sunOS中临时更改脚本中的shell?

时间:2011-04-25 20:39:34

标签: bash scripting sunos

该机器具有默认shell“sh”并运行SunOS。我尝试运行脚本:

#!/bin/bash
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P9
echo $NLS_LANG

我得到了输出:

NLS_LANG = AMERICAN_AMERICA.WE8ISO8859P9 ^ M:不是标识符

我认为脚本无法执行此命令但不明白原因。也许这是因为默认的shell不是bash shell。

你能帮我把sh shell转换成脚本里面的bash shell。

P.S:我也试过#!/ bin / sh,但结果是相同的

2 个答案:

答案 0 :(得分:2)

您的脚本使用错误的行结尾。通过dos2unix运行它。

答案 1 :(得分:1)

你确定Bash就在你说的地方吗?考虑使用以下shebang:

bash-3.2$ cat ./test.sh
#!/usr/bin/env bash
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P9
echo $NLS_LANG

确保您的shell脚本可执行:

bash-3.2$ chmod +x ./test.sh
bash-3.2$ ls -l ./test.sh
-rwxr-xr-x  1 paj  staff  81 26 Apr 11:52 ./test.sh

然后跑......

bash-3.2$ ./test.sh
AMERICAN_AMERICA.WE8ISO8859P9