编辑:如果我可以使用return
,那么使用set -e
的功能呢?
我在我的Linux VM上运行屏幕,以便拥有多个终端,我可以断开连接并在需要时返回。
我遇到运行bash命令的问题,这些命令使用直接调用exit
或其中包含set -e
的函数 - 它们会导致屏幕终端关闭并将我踢出另一个屏幕终端。
有没有办法让屏幕停止响应exit
调用,或者让它知道exit
纯粹是为了使用它的函数的返回值?
违规功能:
function unpackdb() {
cd $DB_LOCATION
mkdir -p downloads
cd downloads
db_file_name=$(ls -t *.tar.gz 2> /dev/null | head -1)
if [ -n "$db_file_name" ] ; then
tar xf $db_file_name -C ../data
echo "Latest file (${db_file_name}) restored in to ${pwd}/../data"
else
echo "Could not find a .tar.gz in ${pwd}, if you don't care use command 'startdb'"
exit 1
fi
}