【发布时间】:2016-03-21 23:22:17
【问题描述】:
我正在尝试这样做:
OS=$(uname -s)
它在终端上运行良好,但是,它抛出了这个:
第 x 行出现语法错误:'OS=$' 意外
我正在使用 #!/bin/bash。
【问题讨论】:
-
在这里的脚本中工作正常。脚本上一行中的某些内容是否会导致错误?
-
前几行是 #!/bin/bash SunOS="SunOS" Linux 仅在 UNIX 中无错误地运行脚本我遇到此错误
-
确保 bash 存在于您的 UNIX 平台中。
which bash -
在 Solaris (SunOS) 上,
/bin/sh是旧的 Bourne shell,无法识别$(…)表示法。如果您使用sh script.sh,代码将因该错误而失败。确保 shebang 使用#!/bin/bash或#!/bin/ksh并确保使用其中一个 shell 而不是sh运行脚本。 -
@kakaman997,因为它以
#!/bin/bash开头,只需使用./yourscript运行它(在设置+x 位之后)也应该可以正常工作(并且是首选,因为它可以控制脚本其解释者); 特别是使用sh会破坏事情。
标签: bash variables unix scripting setting