A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-bash: exec: command not found #Debian apt-get install execline #Ubuntu apt-get install execline #Alpine apk add execline #Kali Linux apt-get install execline #Fedora dnf install R-core #Docker docker run cmd.cat/exec exec
exec 命令用于调用并执行指令的命令。exec 命令通常用在 Shell
脚本程序中,可以调用其他的命令。如果在当前终端中使用命令,则当指定的命令执行完毕后会立即退出终端。
exec [-cl] [-a name] [command [arguments]]
-c:在空环境中执行指定的命令。 -l:在传递给command的第零个arg的开头放置一个破折号。 (这是login程序的工作。) -a:Shell将name作为第零个参数传递给command。
指令:要执行的指令和相应的参数。
首先使用 echo 命令将文本 “Command Not Found” 进行输出,输入如下命令:
$ echo Command Not Found # 输出指定信息 Command Not Found #输出信息
然后再使用 exec 命令调用 echo 命令输出同样的信息,并且对输出的信息进行对比,输入指令如下所示:
$ exec -c echo Command Not Found Command Not Found #输出信息
通过比较两者执行后的结果来看,所实现的功能是相同的,即使用exec命令调用echo命令成功。
exec 命令 | 作用 |
---|---|
exec ls | 在 shell 中执行 ls,ls 结束后不返回原来的 shell 中了 |
exec |
file 中的内容作为标准输入(替代 STDIN) |
exec >file | 将标准输出写入file(替代STDOUT) |
exec 3 |
将 file 读入到文件描述符 3 中(此时,创建了文件描述符 3) |
sort <&3 | 将文件描述符3作为临时输入,用于 sort 排序 |
exec 4>file | 将写入文件描述符 4 中的内容写入 file 中(此时,创建了文件描述符 4) |
ls >&4 | ls 将不会有显示,直接写入文件描述符 4 中了,即上面的 file 中 |
exec 5<&4 | 创建文件描述符 4 的拷贝文件描述符 5 |
exec 3<&- | 关闭文件描述符 3 |