命令行扩展:“ ” ,‘ ’, `` 和 $() 以及 括号扩展:{ }
1、比较 “ ” ,‘ ’, ``三者区别
[root@centos8 ~]#echo "echo $HOSTNAME"
echo centos8.localdomain
[root@centos8 ~]#echo 'echo $HOSTNAME'
echo $HOSTNAME
[root@centos8 ~]#echo `echo $HOSTNAME`
centos8.localdomain
#结论:
单引号:强引用,六亲不认,变量和命令都不识别,都当成了普通的字符串,"最傻"
双引号:弱引用,不能识别命令,可以识别变量,"半傻不精"
反向单引号:里面的内容必须是能执行的命令并且有输出信息,变量和命令都识别,并且会将反向单引号的内
容当成命令进行执行后,再交给调用反向单引号的命令继续,"最聪明
2、$( )
[root@centos7 data]# echo $(date +%F).txt
2022-02-26.txt
[root@centos7 data]# touch $(date +%F).txt
[root@centos7 data]# ll
total 24
-rw-r--r--. 1 root root 0 Feb 26 23:04 2022-02-26.txt
{} 可以实现打印重复字符串的简化形式
格式 :
{元素1,元素2,元素3}
{元素1..元素2}
举例:
echo file{1,3,5} 结果为:file1 file3 file5
echo {1..10} 结果为:1 2 3 4 5 6 7 8 9 10
echo {1..10..2} 结果为 1 3 5 7 9 # 代表输出从1 开始 +2 输出 取奇数
echo {2..10..2} 结果为 2 4 6 8 10 # 代表输出从2 开始 +2 输出 取偶数