使用>和变量文件名



对于下面的bash脚本

sudo -u root bash << EOF
FILE="defaults.txt"
if [ ! -e "$FILE" ]; then
    echo "min_granularity_ns" > $FILE
fi
EOF

我得到这个错误:

bash: line 3: syntax error near unexpected token `newline'
bash: line 3: `    echo "min_granularity_ns" > '
我不知道那有什么不对。如果我使用echo "min_granularity_ns"比;Defaults.txt,没有问题。如何解决这个问题?

转义$以防止shell扩展$FILE:

if [ ! -e "$FILE" ]; then
    echo "min_granularity_ns" > $FILE
fi

注意:这不是一个很好的答案,但它确实解释了问题:在创建here文档之前进行变量扩展。所以,我现在把它放在这里。

相关内容

  • 没有找到相关文章

最新更新