该机器具有默认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,但结果是相同的
答案 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