shell脚本中条件表达式中的语法错误

时间:2013-10-14 19:49:21

标签: shell

我写了一个shell脚本。我有一个问题,我想手动确定文件夹名称。实际上,我用@ Suhas的帮助解决了问题。当我执行我的脚本时,我有一个错误

./scriptname: line 5: syntax error in conditional expression
./scriptname: line 5: syntax error near `"${folder2}"'
./scriptname: line 5: `    if [[ ! -d "${folder1}" "${folder2}" ]]; then'

有人可以找出错误吗?

2 个答案:

答案 0 :(得分:1)

此:

if [[ ! -d "${folder1}" "${folder2}" ]]; then

需要分为2:

if [ ! -d "${folder1}" ] && [ ! -d "${folder2}" ]; then

答案 1 :(得分:1)

更好的&仍然使用[[ ]] bash测试的双重测试的有效解决方案:

if [[ ! -d "${folder1}" && ! -d "${folder2}" ]]; then

注意

[[是一个类似于[命令(但功能更强大)的bash关键字。请参阅http://mywiki.wooledge.org/BashFAQ/031http://mywiki.wooledge.org/BashGuide/TestsAndConditionals。除非你是为POSIX sh写的,否则我们(wooledge.org)会推荐[[