使用 > 和可变文件名
Using > and variable file name
对于以下 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 文档之前进行了变量扩展。所以,我暂时离开它。
对于以下 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 文档之前进行了变量扩展。所以,我暂时离开它。