我有两个(Debian)Linux服务器。我正在创建一个shell脚本。
在第一个数组上,我这样创建了一个数组:
#!/bin/bash
target_array=(
"/home/user/direct/filename -p123 -r"
)
很好 但是,当我在另一台服务器上运行时,我得到:
Syntax error: "(" unexpected
据我所知,两台服务器是相同的。谁能阐明为什么这行不通?
如果我直接将其输入终端,那很好吗?
看起来当我以
sh scriptname.sh
我得到了错误,但是如果我以
./scriptname.sh
看来还可以。有什么不同?
sh
不是bash
,因此以sh scriptname.sh
错误的方式运行它
cat -v <script>
查看是否存在虚假字符。