Linux shell(1)

1.免交互处理

在免交互输出处理中可以使用重定向将输出内容输入到黑洞文件/dev/null中。

[root@localhost ~]# echo password | passwd --stdin user &> /dev/null

Linux shell(1)

 

 

 

2.I/O交互
标准输入:从此设备接收用户输入数据
标准输出:通过此设备向用户报告正常的命令输出结果
标准错误输出:通过此设备向用户报告命令执行过程中出现的报错信息

Linux shell(1)

 

 

 

3.顺序分隔
使用分号依次执行,只有先后顺序,没有逻辑关系。

[root@localhost ~]# mkdir /xxx ; cd /xxx

逻辑“与”分隔
命令1&&命令2&&命令3&&命令4,逻辑关系为且(and),期望所有命令执行成功,一旦某个命令执行失败,不执行后续命令,如下:

[root@localhost ~]# ls -l && cat 1 && cat anaconda-ks.cfg | wc -l
total 4
-rw-------. 1 root root 1805 May 10 17:59 anaconda-ks.cfg
cat: 1: No such file or directory

逻辑“或”分隔
命令1||命令2||命令3||命令4,逻辑关系为或(or),任何一条命令执行成功都符合期望,且只在前面命令执行失败时执行后续命令。

[root@localhost ~]# cd aaa || mkdir aaa || ls -l aaa
-bash: cd: aaa: No such file or directory

组合逻辑分隔
(1)与命令前的命令执行失败,与命令后的命令忽略,执行或命令后的命令。

[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# cd aaa && mkdir aaa || pwd
-bash: cd: aaa: No such file or directory
/root
[root@localhost ~]# ls
anaconda-ks.cfg

(2)与命令前的命令执行成功,执行与命令后的命令,忽略或命令后的命令。

 

[root@localhost ~]# ls
aaa  anaconda-ks.cfg
[root@localhost ~]# cd aaa && mkdir a || ls
[root@localhost aaa]# ls
a

(3)或命令前的命令执行失败,执行或命令后的命令和与命令后的命令。

[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# cd aaa || mkdir aaa && ls
-bash: cd: aaa: No such file or directory
aaa  anaconda-ks.cfg

(4)或命令前的命令执行成功,忽略或命令后的命令,执行与命令后的命令。

[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# mkdir aaa || cd aaa && pwd
/root
[root@localhost ~]# ls
aaa  anaconda-ks.cfg

 

 

Linux shell(1)

上一篇:安装ubuntu18.04


下一篇:C# 切换中英文输入法