【发布时间】:2015-06-18 06:29:03
【问题描述】:
我正在尝试使用 bash 和数组。但是执行示例脚本时,我收到了意外的语法错误消息:example.sh: 3: example.sh: Syntax error: "(" unexpected。这是脚本
#!/bin/bash
array=( one two three )
如果我使用 ./example.sh 运行脚本,它可以工作并且不会显示任何错误。但是如果我运行 sh example.sh 我会收到错误消息。
我以为这两个命令是一样的:
- sh example.sh
- ./example.sh
那么……这两者有什么区别?
【问题讨论】:
-
sh example.sh 调用 /bin/sh 可执行文件,它可能与您系统上的 /bin/bash 相同也可能不同。比较 sh --version 和 bash --version 的输出以了解更多详细信息。
-
无论哪种情况,我都不确定它是否应该有所作为。引用你的字符串值有影响吗?
-
我只是一个“初级” bash 开发人员。没想到
sh或bash有不同的含义o_0