梦回Linux | 8、echo看待事物的思考

讲个故事

小L步入学堂已有几年,从认识老师,到学会自己阅读,最后阅读后的运用等等!
对于一个事物,从认知到了解,再到运用,那么其中的原理是怎么看待的呢?

echo

1、 看待文本

# 当输入一个文本内容时,打印的也是这句话
[root@localhost ~]# echo this is a helloworld!
this is a helloworld!

# 当输入*号时,打印的是当前目录文件名
[root@localhost ~]# echo *
aa2 bb cc cc2 curr.txt dos err hello.c hello.js ll.txt ss

# 为什么输入* 不打印*呢?
# 当echo执行打印的时候,会进行展开后边输入的内容!!!
举例:
# 当要打印结尾为txt后缀的文件时,echo会进行展开,展开后的结果进行打印内容
[root@localhost ~]# echo *.txt
curr.txt ll.txt

2、看待路径

# 对于路径的展开
# 先来展开下家目录 ~
[root@localhost ~]# echo ~
/root
# 结果  家路径~,展开后的结果为 /root

# 展开相符合的路径
[root@localhost ~]# echo /usr/*/bin
/usr/i686-buildroot-linux-gnu/bin /usr/local/bin

3、看待算术

格式:$((表达式))

# 展开算术 2+2的结果
[root@localhost ~]# echo $((2 + 2))
4

算术操作符

操作符说明
+
-
*
/除(但是记住,因为展开只是支持整数除法,所以结果是整数。)
%取余,只是简单的意味着,“余数”
**取幂

4、看待花括号

对于花括号,类似于正则表达式中的[],符合其中之一!

[root@localhost ~]# echo Number_{1..5}
Number_1  Number_2  Number_3  Number_4  Number_5

5、看待系统参数

# 进行打印出,系统中的PATH值
[root@localhost ~]# echo $PATH
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin

6、命令替换

对于一个命令的执行结果,可以展开为输出结果

[root@localhost ~]# echo $(which ls)
/bin/ls

7、双引号

把文本放在双引号中,shell 使用的特殊字符,都失去它们的特殊含义,被当作普通字符来看待。
有几个例外: $,\ (反斜杠),和 `(倒引号)。这意味着单词分割、路径名展开、波浪线展开和花括号展开都将失效,然而参数展开、算术展开和命令替换仍然执行。

# 如果表达式在双引号中,则能正常执行
[root@localhost ~]# echo "$((2+2))"
4

ps: 双引号中存在转义字符,这在之前文章有过学习!

8、单引号

如果需要禁止所有的展开,我们要使用单引号。

[root@localhost ~]# echo '$((2+2))'
$((2+2))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值