我已使用此shell脚本
成功更改了linux中的文本vi -e .bash_profile << END
i
PATH=\$PATH:\$HOME/bin:/usr/pgsql-9.4/bin
export PATH
PGDATA=/usr/pgsql-9.4/data
export PGDATA
.
w
q
END
但我有一个问题。
如果我执行两次脚本,则在文本文件中复制。
所以,我想防止这种情况发生。我该如何解决?
答案 0 :(得分:0)
那取决于...如果字符串"PATH=$PATH:$HOME/bin:/usr/pgsql-9.4/bin"
可以出现在文件的其他位置,那么我们就不能将它用作vi已经完成其工作的指示器。但如果字符串没有出现,我们可以包装整个事情
grep -q 'PATH=[$]PATH:[$]HOME/bin:/usr/pgsql-9.4/bin' .bash_profile
if [ $? -eq 1 ]
then
# do your vi stuff here
fi
你可以用
替换if的东西test $? -eq 0 && exit 0
如果你在vi之后不打算做任何事情