exit和return无法退出

前言最近写脚本时发现一个问题exit和return无法退出脚本和函数,具体情况如下 [ $os_version == "uos" ] || (echo ok ; exit 1) 不管是通过exit 还是return 都会继续往下执行无法推出脚本和函数 正文通过各种尝试和google最终发现问题所在 对return和exit的理解不正确,return和exit应该是返回/退出当前进程。() 会生产一个子进程,这时候return和exit返回/退出的时子进程还需注意管道命令"|"符号左右两边也是分别起一个子进程运行命令解决办法修改逻辑使用 {} 代替 () [ $os_version == "uos" ] || {echo ok ; exit 1)} 特此记录