这是我的脚本的简单版本,显示失败:
#!/bin/bash ${something:="false"} ${something_else:="blahblah"} ${name:="file.ext"} echo ${something} echo ${something_else} echo ${name}
当我回显变量时,我得到了我输入的值,但它也会发出错误.我究竟做错了什么?
输出:
./test.sh: line 3: blahblah: command not found ./test.sh: line 4: file.ext: command not found false blahblah file.ext
前两行被发送到stderr,而接下来的三行被输出到stdout.
我的平台是fedora 15,bash版本4.2.10.
将变量放在一行上将执行存储在变量中的命令.正在同时执行任务是偶然的.
简而言之,不要这样做.
echo ${something:="false"} echo ${something_else:="blahblah"} echo ${name:="file.ext"}