linux - 简单的 Shell 脚本不会附加到文件

标签 linux shell

以下脚本不起作用:

#!/bin/sh
FILE="/root/.bashrc"
if [ -f $FILE ]
 then

 COMMAND="alias ls='ls -la --color=always --human'"

 if grep -q "$COMMAND" $FILE
 then
  echo "NOT CHANGED, Already existing: $COMMAND in $FILE"
 else
  $FILE << $COMMAND
  echo "CHANGED: $COMMAND in $FILE"
 fi

else
  echo "$FILE does not exist, will not apply changes: $COMMAND"
fi

我收到此错误:32:语法错误:文件结尾意外(期望“fi”)

我将非常感谢您的建议。我是一个完整的 shell 新手,我做了一些测试,但不明白为什么会出现这个错误。

谢谢!! 延斯

最佳答案

第 12 行的语法不附加,它启动一个定界符。

echo "$COMMAND" >> "$FILE"

关于linux - 简单的 Shell 脚本不会附加到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5121129/

相关文章:

linux - rsync 仅复制特定文件夹

linux - 将单个 csv 文件的前两列合并到另一列中

python - 按比例将图像裁剪到最大的中心部分

linux - 在 AWS Amazon Linux 上安装 MongoDB 时出错

linux - Grep 排除文件夹并使用 linux 搜索

linux - 如何强制链接来自特定库的符号?

linux - awk 从字段中提取数字

bash - 在 shell 脚本之间共享变量

linux - 如何在 bash 中的双引号之间写 "!"符号?

linux - 如何删除 vim 7+ 的所有语法颜色真的很烦我