shell编程学习4改变语句执行的逻辑输入输出等

实例

使用分号;
依次执行,没有逻辑关系

mkdir /newdir ; cd /newdir //新建并进入newdir

使用&&
与逻辑,一旦出现失败后面命令不执行

make && make install //保证编译完成后安装

使用 ||

id hello || useradd hello //没有mickey用户则创建一个
id yezeng &>/dev/null && echo YES || echo NO //判断用户是否存在

使用管道 |

//把网卡信息作为输入给less命令
ifconfig -a | less 
//列出所有普通文件
find /etc -type f | wc -l
//列出当前TCP处于监听的端口总数
netstat -anpt | grep -c "LISTEN"

linux的IO设备框架

在这里插入图片描述

使用命令给命令执行时选择不同的设备输入输出

  • stdin指标准输入信息默认键盘,文件描述号0
  • stdout指标准输出信息默认显示器设备,文件描述号1
  • stderr指标准输出信息默认显示器设备,文件描述号2

cmd > file 把 stdout 重定向到 file 文件中;
cmd >> file 把 stdout 重定向到 file 文件中(追加);
cmd 1> fiel 把 stdout 重定向到 file 文件中;
cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中;
cmd 2> file 把 stderr 重定向到 file 文件中;
cmd 2>> file 把 stderr 重定向到 file 文件中(追加);
cmd >> file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中(追加);
cmd < file >file2 cmd 命令以 file 文件作为 stdin,以 file2 文件作为 stdout;
cat <>file 以读写的方式打开 file;
cmd < file cmd 命令以 file 文件作为 stdin;
cmd << delimiter Here document,从 stdin 中读入,直至遇到 delimiter 分界符。

ls -ld /rootx/root >/root/ls.log 2>/root/err.log //把信息分别保存到不同文件

猜你喜欢

转载自blog.csdn.net/a1920993165/article/details/84995152