双引号""、单引号''、着重号``的作用
- 双引号""用于包含字符串,并且在双引号内可以执行shell命令并返回执行后的字符串。
- 单引号''也是用于包含字符串,但不会执行字符串里面的shell命令
- 着重号``用于命令置换,格式`[命令]`,相当于执行着重号里的命令,然后返回执行后的字符串
一些简单的例子
#echo 回显字符串
echo "1234"
#输出结果:1234
echo "1234 `pwd`"
#输出结果:1234 /home/username
echo '1234 `pwd`'
#输出结果:1234 `pwd`
shell变量的创建
[标识符]=xxx //注意=前面和后面都不能有空格
a=pwd
a='pwd'
a="pwd"
#上面三种写法都是将字符串pwd存放到a中
echo $a
#输出a中存放的值,即 pwd
echo `$a`
#`$a`相当于`pwd`相当于/home/username
#因此上述命令相当于 echo "/home/username"
shell里的数组可以直接使用,并且不用担心越界
s[3]=xxx #如果数组s的长度小于3,则在数组末尾添加xxx
#数组初始化赋值
arr=(1 2 3 4 5)
$a ${a} $(ls)的使用及区别
- $a是${a}的简单写法,都是引用变量的值
- ${a}还可以用于变量扩展,如${a}_b
- $(ls)相当于`ls`,执行命令ls并返回执行后的字符串替代 `ls`
例如下面这个例子,我在当前目录下创建了一个文本文件test.txt,文件内容是pwd, 使用cat test.txt命令将会输出pwd,将此输出再作为命令执行会返回字符串 "/home/username"(我的username是linux)。