IGG*_*GGt 48 bash array shell-script
我有两台(Debian)Linux 服务器。我正在创建一个shell脚本。
在第一个上,我创建了一个数组:
#!/bin/bash
target_array=(
"/home/user/direct/filename -p123 -r"
)
Run Code Online (Sandbox Code Playgroud)
这很好用。但是当我在另一台服务器上运行它时,我得到:
Syntax error: "(" unexpected
Run Code Online (Sandbox Code Playgroud)
据我所知,两台服务器都是一样的。任何人都可以解释为什么这不起作用?
如果我直接在终端中输入它就可以了??
看起来当我运行它时
sh scriptname.sh
Run Code Online (Sandbox Code Playgroud)
我收到错误,但如果我运行它
./scriptname.sh
Run Code Online (Sandbox Code Playgroud)
好像没问题。有什么不同?
Kon*_*nko 81
当您使用./scriptname.sh
它时,它会/bin/bash
在第一行以#!
. 但是当你使用sh scriptname.sh
它时,它会执行sh
,而不是bash
。
该sh
外壳有没有语法创建数组,但Bash有你所使用的语法。