代码之家  ›  专栏  ›  技术社区  ›  mahmood

使用>和变量文件名[重复]

  •  0
  • mahmood  · 技术社区  · 2 年前

    对于下面的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_\u ns”>默认值。没问题。如何解决这个问题?

    1 回复  |  直到 2 年前
        1
  •  2
  •   David Cullen    2 年前

    逃离 $ 防止外壳膨胀 $FILE :

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