我有两个(Debian)Linux服务器。我正在创建一个shell脚本。
在第一个数组上,我这样创建了一个数组:
#!/bin/bash
target_array=(
"/home/user/direct/filename -p123 -r"
)
很好 但是,当我在另一台服务器上运行时,我得到:
Syntax error: "(" unexpected
据我所知,两台服务器是相同的。任何人都可以阐明为什么这行不通吗?
如果我直接将其输入终端,那还好吗?
看来当我以
sh scriptname.sh
我收到错误,但是如果我按以下方式运行
./scriptname.sh
看来还可以。有什么不同?
当您使用./scriptname.sh
它时,与/bin/bash
的第一行中的一样执行#!
。但是,当您使用sh scriptname.sh
它时,它sh
不会执行bash
。
该sh
外壳有没有语法创建数组,但Bash有你所使用的语法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句