Oozie shell 操作 > 为什么只允许一些 shell 命令而不是全部

Oozie shell action > why only some shell command is allow but not all

在Oozie shell动作中,我尝试直接使用命令mkdir,成功了。但是当我尝试像 exec 这样的其他命令时。存在错误“找不到命令”。为什么

$ which exec

/usr/bin/which: no exec in (/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/)

$ man bash

... SHELL BUILTIN COMMANDS

... exec [-cl] [-a name] [command [arguments]]

呸! exec 不是您可以在 PATH 中找到的 Linux 可执行文件;它是一个 shell 内置命令 -- 就像 unsetaliasif .. 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'"