1
假设我有一个非常简单的脚本,它在某个目录中创建链接,并在脚本失败时终止该脚本。仅当Bash脚本运行到“权限被拒绝”时提示`sudo`
ln -s "/opt/myapp" "${1}/link" || exit 1;
现在它只是在退出,如果它出现错误。我想改变它,以便只有当它运行到权限错误创建链接时,将执行以下行不是退出:
echo "The target directory requires root privileges to access."
sudo ln -s "/opt/myapp" "${1}/myapp" || exit 1;
我不想提示用户以root身份运行除非他们绝对必须。
ln
似乎对失败retun退出代码1,无论它是否符合许可或任何其他错误问题,如目录不存在,所以我不能用它来检测它遇到了哪些问题。
如果我将ln
的输出存储为字符串“Permission denied”的搜索,我假设它在非英文操作系统上会失败。