该机器具有默认外壳"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里面的脚本吗。
附言:我也尝试过#!/bin/sh,但结果是一样的
发布于 2011-04-26 09:54:06
你确定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-26 04:41:28
您的脚本使用了错误的行尾。通过dos2unix运行它。
https://stackoverflow.com/questions/5783006
复制相似问题