shell 为变量赋值 命令的输出结果赋值

来源:互联网 发布:什么听书软件最好 编辑:程序博客网 时间:2024/04/27 13:36

shell 为变量赋值 命令的输出结果赋值

记录一下 第一次写这种博客 哈哈

**最近一直在学shell昨天碰到个问题  
文件111.sh 中有一个token** 

[root@controller sh]# cat 111.sh2910d71df692fd8d39615421

想要将这个token 赋值给环境变量OS_TOKEN

左边的命令应该有标准输出 | 右边的命令应该接受标准输入
左边的命令应该有标准输出 > 右边只能是文件
左边的命令应该需要标准输入 < 右边只能是文件

如果使用管道或重定向的话可以看一下

[root@controller sh]# cat 111.sh  | export OS_TOKEN [root@controller sh]# export | grep OS_TOKENdeclare -x OS_TOKEN=""[root@controller sh]# export OS_TOKEN <111.sh [root@controller sh]# export | grep OS_TOKEN  declare -x OS_TOKEN=""

可以看到都没有成功

那么如何能把这个值赋给OS_TOKEN  看你的键盘 esc 键下面有个反引号,在Linux中起着命令替换的作用。命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置,简单说就是引用命令的执行结果。

[root@controller sh]# export OS_TOKEN=`cat 111.sh`  [root@controller sh]# export | grep OS_TOKEN      declare -x OS_TOKEN="2910d71df692fd8d39615421"

同样也可以为命令的输出结果赋值

想到办法了感觉好简单 

1 0
原创粉丝点击