很多小伙伴在写shell脚本的时候需要把命令输出的值赋给一些变量,使得脚本在运行过程中能够顺利使用这些变量。例如:很多时候我们就需要获取当前目录的绝对路径,pwd这个命令大家在熟悉不过,可是要把这个命令的输出值赋给变量就不知道何从下手了。莫慌,办法还是有的,我们可以把这个命令的输出值赋给一个叫pwd的变量(当然,你也可以随意命名一个变量名称)。具体操作是这样的:pwd=`pwd`,需要注意的是这里的引号并非通常我们使用的单引号,而是左上角ESC下面那个按键,也就是数字键1前面的那个。
大家可以来看一下这个例子,如果想使用下面的脚本直接运行的话请删除前面的行号数字。
1 #!/bin/bash
2 whoami=`whoami`
3 pwd=`pwd`
4 today=`date`
5 last=`last -10`
6 echo "Your name is $whoami"
7 echo "The current directory is $pwd"
8 echo "Today is $today"
9 echo "`last -10`"
10 echo "The last login $last"
在第9行代码中,我们直接输出最近10次登陆的详情,这属于是直接使用,在第10行代码中我们使用了变量,实际运行结果与第9行一致。
当然,另外一种方式就是把上面的`换成成对的小括号,半角状态下输入,需要在小括号前加“$”。
输出结果如下:
命令参数也是完全可以带上的,我们来看一下:
1 #!/bin/bash
2 LANGUAGE=$(echo -e "$LANG ")
3 echo $LANGUAGE
4 list=`ls -al`
5 echo -e "$list"
运行结果如下,完全能够达到预期效果。
其他方式希望小伙伴们在评论区展开讨论,大家一起进步!感觉动手去试试吧!