1. 如下执行结果:[liuqiang@slaves1 ~]$ aaaa=bbbb
[liuqiang@slaves1 ~]$ env |grep aaaa
[liuqiang@slaves1 ~]$ set |grep aaaa
aaaa=bbbb
[liuqiang@slaves1 ~]$ export aaaa
[liuqiang@slaves1 ~]$ env |grep aaaa
aaaa=bbbb
[liuqiang@slaves1 ~]$ unset aaaa
[liuqiang@slaves1 ~]$ set|grep aaaa
_=aaaa // 请问这里是怎么回事?
[liuqiang@slaves1 ~]$ set|grep aaaa2. 如下执行结果
[liuqiang@node4 ~]$ test='* means all files' //使用单引号
[liuqiang@node4 ~]$ echo $test
1.txt iostat.sh test test1 means all files
[liuqiang@node4 ~]$ test="* means all files" //使用双引号
[liuqiang@node4 ~]$ echo $test
1.txt iostat.sh test test1 means all files请问: 变量定义后,在引用的时候,貌似之前变量存储是使用单引号还是双引号都没有区别,都是直接引用变量,请教别人给的解释是shell存储变量的时候是不存储引号的,不是很理解
2.[ -d $1 ] 这种条件表达式,请问$1的参数从哪里输入呢?
感觉好像没有输入的参数列表啊~以上,谢谢`
[liuqiang@slaves1 ~]$ env |grep aaaa
[liuqiang@slaves1 ~]$ set |grep aaaa
aaaa=bbbb
[liuqiang@slaves1 ~]$ export aaaa
[liuqiang@slaves1 ~]$ env |grep aaaa
aaaa=bbbb
[liuqiang@slaves1 ~]$ unset aaaa
[liuqiang@slaves1 ~]$ set|grep aaaa
_=aaaa // 请问这里是怎么回事?
[liuqiang@slaves1 ~]$ set|grep aaaa2. 如下执行结果
[liuqiang@node4 ~]$ test='* means all files' //使用单引号
[liuqiang@node4 ~]$ echo $test
1.txt iostat.sh test test1 means all files
[liuqiang@node4 ~]$ test="* means all files" //使用双引号
[liuqiang@node4 ~]$ echo $test
1.txt iostat.sh test test1 means all files请问: 变量定义后,在引用的时候,貌似之前变量存储是使用单引号还是双引号都没有区别,都是直接引用变量,请教别人给的解释是shell存储变量的时候是不存储引号的,不是很理解
2.[ -d $1 ] 这种条件表达式,请问$1的参数从哪里输入呢?
感觉好像没有输入的参数列表啊~以上,谢谢`
解决方案 »
- 求大神指导!!~~急
- 说一说软件公司的女程序员 test001
- 请教各位大神,如何实现:多台linux服务器,可以使用一个用户登陆,且在其中一台服务器中修改用户密码,其他服务器也同步修改了。
- secureCRT连接不上服务器,小白一枚,请大神帮忙!
- redis安装失败
- 求助,Linux下是用RAR命令生成windows下可运行exe的程序
- linux删除文件中特定内容
- Ubuntu系统安装不了 头皮发麻 求大佬解答
- 虚拟机安装vmware tools提示客户端被锁,咋回事儿,如何解决,求大神解救
- win10更新之后vm无法运行哪位大佬遇见这样的问题
- 求大佬指点
- linux bash/dash 问题,请大神帮忙
2、单双引号是为了方便定义带有空格的长变量,比如test= Hello world 是不行的,必须加上引号test='Hello world' ;还有双引号的作用可以引用变量,比如定义test1='$test ! welcome come to' ,echo $test1 输出的就是$test ! welcome come to ,定义test2="$test ! welcome come to" ,echo $test2 输出的就是Hello world!welcome come to了。
3、$1一般来说就是脚本后接的第一个参数,比如./test.sh 123 ,在脚本里$1=123。
$ echo "$PATH"
/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$ echo '$PATH'
$PATH