bash一些基础的内置命令
内置命令
echo eval exec export read shift
echo命令
-n 不换行输出 -e 解析字符串中的特殊符号 \n 换行 \r 回车 \t 制表符 四个空格 \b 退格 $ echo 第一行;echo 第二行 第一行 第二行 # 不换行打印 $ echo -n 第一行;echo 第二行 第一行第二行 $ echo -e "你好\n今天周五" 你好 今天周五 # 打印命令 printf $ printf "你好\t我是\t陌生人\n" 你好 我是 陌生人
eval
执行多个命令
在 Bash shell 中,$$ 表示当前进程的进程 ID,而 $# 表示命令行参数的数量。因此,echo \$$# 实际上是将 $ 和 $# 两个符号合并成了一个字符串,然后输出这个字符串。具体来说,它会输出一个字符串,其中包含 $ 和最后一个命令行参数的位置(即 $#)。例如,如果命令行有三个参数,echo \$$# 将输出 $3。这个命令可能有一些特殊的用途,但在一般情况下,它不是一个有效的命令。 简单点说 如果有两个入参 \$$#,就是$2,$#=2 $ cat a.sh echo "Last argument is $(eval echo \$$#)" echo "Last argument is $(eval echo $#)" echo "Last argument is $(echo \$$#)" $ sh -x a.sh one two three ++ eval echo '$3' +++ echo three + echo 'Last argument is three' Last argument is three ++ eval echo 3 +++ echo 3 + echo 'Last argument is 3' Last argument is 3 ++ echo '$3' + echo 'Last argument is $3' Last argument is $3
exec
不创建子进程,执行后续命令,且执行完毕后,自动exit
[root@south ~]# exec date 2023年 02月 24日 星期五 02:33:41 PST Shared connection to 192.168.0.104 closed. ~ »
本文作者:南哈哈
本文链接:https://www.cnblogs.com/nanruosen/p/17152598.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步