linux-(命令)子shell执行语句{命令}本shell执行语句

一. 用{命令}在本shell执行语句

[root@ansible9 ~]# a=1;b=1
[root@ansible9 ~]# { a=2;b=3;cd test;touch 1.txt; }
[root@ansible9 test]# cd ..
[root@ansible9 ~]# echo $a;echo $b;ll ./1.txt;ll test/1.txt
2
3
ls: cannot access './1.txt': No such file or directory
-rw-r--r-- 1 root root 0 Dec 30 11:26 test/1.txt

格式:{空格语句1;语句2;空格}

二. 用(命令)在子shell执行语句

[root@ansible9 ~]# a=1;b=1
[root@ansible9 ~]# (a=2;b=3;cd test;touch 1.txt)
[root@ansible9 ~]# echo $a;echo $b;ll ./1.txt;ll test/1.txt
1
1
ls: cannot access './1.txt': No such file or directory
-rw-r--r-- 1 root root 0 Dec 30 11:29 test/1.txt

格式:(语句1;语句2)

三. $(命令)在子shell执行语句

[root@ansible9 ~]# a=1
[root@ansible9 ~]# b=`a=2;cd test;touch 123.txt`
[root@ansible9 ~]# echo $a
1
[root@ansible9 ~]# ll ./123.txt
ls: cannot access './123.txt': No such file or directory
[root@ansible9 ~]# ll test/123.txt 
-rw-r--r-- 1 root root 0 Dec 30 11:34 test/123.txt
[root@ansible9 ~]# a=1
[root@ansible9 ~]# $(a=100;cd test;touch wo.txt)
[root@ansible9 ~]# echo $a
1
[root@ansible9 ~]# ll ./wo.txt
ls: cannot access './wo.txt': No such file or directory
[root@ansible9 ~]# ll test/wo.txt 
-rw-r--r-- 1 root root 0 Dec 30 11:38 test/wo.txt

四. 变量名=$(命令)变量名只能获得命令的标准输出,不能获得标准错误输出除非重定向标准错误输出到标准输出

[root@ansible9 ~]# a=0
[root@ansible9 ~]# a=`222`
bash: 222: command not found...
[root@ansible9 ~]# echo $a

[root@ansible9 ~]# a=`ls`
[root@ansible9 ~]# echo $a
anaconda-ks.cfg backup_gitlab.sh Desktop Documents Downloads initial-setup-ks.cfg Music Pictures Public Templates test Videos
[root@ansible9 ~]# 
[root@ansible9 ~]# a=0
[root@ansible9 ~]# a=`222 2>&1`
[root@ansible9 ~]# echo $a
bash: 222: command not found...
[root@ansible9 ~]# 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值