在安装脚本中检测失败

Lai*_*uan 4 bash shell-scripting

我写了一个安装脚本来安装我喜欢的程序和设置后我得到一个新的服务器。

apt-get install git
git clone http://me@myvimsetting.github.com .vim
ln -s .vimrc .vim/vimrc
...
Run Code Online (Sandbox Code Playgroud)

但是,如果在安装过程中发生错误,我该如何中断安装脚本并记录错误?例如,如果github服务器宕机,创建一个指向不存在的vimrc.

(或者您有更好的方法来初始化服务器?)

Saf*_*ado 5

在基本层面上,您可以执行诸如将 STDERR 重定向到文本文件以记录错误等操作

git clone http://me@myvimsetting.github.com .vim 2>> ~/logs/vim-error.txt

或者在这个特定的例子中,你可以做一个 if 语句

if [ -f .vimrc ] ## -f means "if file exists"
then
ln -s .vimrc .vim/vimrc
fi
Run Code Online (Sandbox Code Playgroud)

或者在 git clone 命令之后你可以检查它的退出状态,如果它不是 0 退出脚本

if [ $? -ne 0 ]
then
exit 1
fi
Run Code Online (Sandbox Code Playgroud)

我所有的脚本都是 n00b 级脚本,我发现这些东西通常会做我需要它们做的事情。