在Oozie shell操作中,我尝试直接使用命令mkdir
,它成功了。但当我尝试其他命令时,比如exec
。出现错误"找不到命令"。为什么
$which exec
/usr/bin/with:中没有exec(/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/)
$man bash
SHELL内置命令
exec[-cl][-a name][command[自变量]]
啊!exec
不是可以在PATH中找到的Linux可执行文件;它是一个shell内置命令——就像unset
、alias
或if .. then .. else .. fi
一样
但是您可以启动一个shell来运行exec
,即
bash -c "echo 'IN SUB-PROCESS' ; exec echo 'this is really a complicated way to run ECHO and terminate' ; echo 'NOT EXECUTED, EXEC TERMINATED THE SUB-PROCESS'"