我正在编写一个 bash 脚本来处理存储库的安装,主要是检查一些基本依赖项并经常调用 git clone。
运行此脚本时,我想检查文件是否已安装。
git clone https://github.com/reticulatedpines/magiclantern_simplified.git
echo "Exit status: ($?)"
if [ $? -eq 0 ]; then
echo "Magic Lantern has been cloned into ${ML_PATH}."
else
exit 1
fi
问题是存储库将克隆到当前工作目录中,这不是我想要的,如果我尝试cd ~
返回主目录,它实际上会将我发送到根 shell:
root@debian:~# (repository installs here).
我怎样才能避免这种情况?
答案1
sudo -E <cmd>
使用 -E 运行 sudo “运行命令时保留用户环境”
保留用户环境将在当前位置运行命令。