0

所以我对 bash 很陌生,我正在为build-essentialand制作安装程序OpenSSL。问题是它总是在第一exec行之后停止。这是我的代码:

#!/bin/bash
echo "Installing build-essential"
exec sudo apt-get install build-essential > /dev/null 2>&1
echo "Finished installing build-essential"
echo ""

echo "Installing OpenSSL"
exec sudo apt-get install openssl > /dev/null 2>&1
echo "Finished installing OpenSSL"
echo ""

echo "Updates complete!"

这是输出:

Installing build-essential
[sudo] password for matthew:

请记住,我是几个小时前才开始的。抱歉转储问题。

4

1 回答 1

3

exec永远不会返回调用脚本。它用以下命令替换当前进程exec。只需完全删除exec,让 apt-get 像任何其他命令一样运行。

注意:确实有返回调用脚本的用途exec,例如进行 I/O 重定向的那些。

于 2012-06-12T19:49:45.000 回答