0

该机器具有默认的外壳“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。

PS:我也试过 #!/bin/sh 但结果是一样的

4

2 回答 2

2

您的脚本使用了错误的行尾。运行它dos2unix

于 2011-04-25T20:41:28.057 回答
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
于 2011-04-26T01:54:06.053 回答