linux下&符号的用法,linux 中特殊符号用法详解

本文介绍了在Shell脚本中使用星号(*)作为通配符时的行为。当星号未被引号包围,它会被解释为当前目录下的文件和目录。如果使用单引号或双引号定义变量,星号在变量中不会被展开。通过`set -f`可以关闭通配符扩展,`set +f`则重新启用。理解这一行为对于编写Shell脚本至关重要。
摘要由CSDN通过智能技术生成

星号(*)

当用于shell变量时,

[root@zabbix_nuc ~]# sql='select * from mysql.user'

[root@zabbix_nuc ~]# echo "$sql"

select * from mysql.user

[root@zabbix_nuc ~]# echo $sql

select 2018-07-18.log anaconda-ks.cfg speedtest.py test.sh from mysql.user

[root@zabbix_nuc ~]# sql="select * from mysql.user"

[root@zabbix_nuc ~]# echo "$sql"

select * from mysql.user

[root@zabbix_nuc ~]# echo $sql

select 2018-07-18.log anaconda-ks.cfg speedtest.py test.sh from mysql.user

[root@zabbix_nuc ~]# set -f // # 关闭通配符

[root@zabbix_nuc ~]# echo $sql

select * from mysql.user

[root@zabbix_nuc ~]# set +f //

[root@zabbix_nuc ~]# echo $sql # 开启通配符

select 2018-07-18.log anaconda-ks.cfg speedtest.py test.sh from mysql.user

[root@zabbix_nuc ~]#

由上可知:

变量定义的时候是没有问题的:当定义时单引号和双引号都可以;执行的时候被解释了:echo时要把变量括起来,否则星号(*)会代替当前目录下的文件和目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值