linux shell脚本,怎样变量传递执行结果

在linux shell脚本里,设置一个变量,但是变量是一个命令,需要将执行结果放到变量里,并输出,例如:ip='ifconfig eth0' echo $ip,怎样可以叫页面显示的是eth0的网络状况?就是ifconfig eth0的结果?

1、shell一般都是放在/bin或者/user/bin目录下,我们可以使用命令cat /etc/shells命令,查看当前linux系统可用的shell是什么。

2、我们使用echo $SHELL命令来查看当前系统的默认Shell,并且输出Shell的环境变量。

3、shell中用于输出字符串的echo命令,我们将需要输出的字符串用双引号包裹,在双引号没有成对出现之前可以任意换行。

4、第一层命令使用PS1,第二层命令使用PS2,>便是第二层命令,如我们在输入完命令没有结束的情况下,显示的便是第二层命令。

5、我们使用echo $PS1和echo $PS2来查看提示符的当前格式,同样我们也可以修改命令提示符。

6、我们创建一个shell脚本了,使用vi test(自定义的脚本名)进入到脚本编辑页面,test便是该脚本的名字,后缀名为.sh即可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-06

可以使用ip=`ifconfig eth0`命令将 ifconfig eth0的结果赋值给ip,然后进行传递。

注意ifconfig eth0前后的符号不是单引号 ' ,而是反引号(也有叫飘号或尖叫号的,在数字1的左边,需在英文状态下输入)。

在linux命令行或者shell脚本里面输入以下命令:ip = `ifconfig eth0`,即可先把ifconfig eth0的值存在ip变量之内,然后再进行其他操作。例如将ifconfig eth0的结果输入到a.txt 文档种的命令为:

ip=`ifconfig eth0`

echo $ip >a.txt


扩展资料

linux下反引号的作用:

linux里面反引号` `就是将反引号内的Linux命令先执行,然后将执行结果赋予变量。

例如: list=`ls -la` 

是将Linux命令ls -la 赋予list,list的值就是该命令的执行结果。

本回答被网友采纳
第2个回答  推荐于2017-10-09
将一条命令的执行结果赋给一个变量的方法有:
1、使用反引号`` (数字键1左边的键,tab键上面,英文方式输入)
如:a=`echo "hello world"`;

即将命令 echo "hello world"的输出赋给变量a

2、可以使用 $(())

如:a=$(echo "hello world")

即 将命令echo "hello world"的输出赋给变量a
第3个回答  2015-08-07

你好, 

     将结果定义为变量,然后输出即可。

list=`ls -l /home`
echo $list

第4个回答  2012-11-28
ip=`ifconfig eth0`
echo $ip

`ifconfig eth0`用的是尖角号也就是数字键1左边的那个键追问

那这个键表示的什么意思呢?为什么用这个键就可以了呢?

追答

这就跟你问linux下显示文件目录的命令是ls一样。
人家就这么规定的,使用反引号可以把一个命令的输出插到另一个命令中去。
相同功能的写法还有$() 功能通` ` 效果是一样的。不过某些unix系统不支持$()这种写法。
但是` `在任何unix或linux系统下都可以使用。

本回答被提问者采纳