为了能到远方,脚下的每一步都不能少.|

南哈哈

园龄:3年10个月粉丝:2关注:0

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 中国大陆许可协议进行许可。

posted @   南哈哈  阅读(67)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起