【发布时间】:2014-11-16 15:01:31
【问题描述】:
我想使用 bash 脚本将文本添加到文件第一行的末尾。 该文件是 /etc/cmdline.txt ,它不允许换行并且需要用空格分隔的新命令,所以我要添加的文本确实需要在第一行。
到目前为止我得到的是:
line=' bcm2708.w1_gpio_pin=20'
file=/boot/cmdline.txt
if ! grep -q -x -F -e "$line" <"$file"; then
printf '%s' "$line\n" >>"$file"
fi
但是这会在第一行的换行符之后附加文本,所以结果是错误的。 我要么需要修剪文件,添加我的文本和换行符,要么只是将其添加到文件的第一行而不以某种方式触及其余部分,但我对 bash 脚本的了解不足以在这里找到解决方案,以及所有我在网上找到的示例添加文件中每一行的开头/结尾,而不仅仅是第一行。
【问题讨论】:
-
grep "$line" "$file"改用这个@RyuKajiya 我刚刚尝试过它在我的终端上运行良好。 -
谢谢!现在就像一个魅力。