2015.6.2 shell 数据流重定向

  • 1>:以覆盖的方法将正确的数据输出到指定的文件或设备上
  • 1>>:以累加的方法将正确的数据输出到指定的文件或设备上
  • 2>:以覆盖的方法将错误的数据输出到指定的文件或设备上
  • 2>>:以累加的方法将错误的数据输出到指定的文件或设备上
  • <:将原本需要由键盘输入的数据改由文件内容来代替
  • <<:代表结束输入

举例

# ll / >~/rootfile

屏幕输出被重定向到了rootfile文件里

$find /home -name .bashrc >list_rigth 2>list_error

将正确的输出和报错的输出分别输出到不同的文件里

$find /home -name .bashrc 2> /dev/null

将错误的输出信息抛弃

$find /home -name .bashrc >list 2>&1
$find /home -name .bashcrc &>list

将正确的信息和错误的信息输入到同一个文件中

$cat > catfile < ~ ./bashrc

使用文件代替键盘输入

$cat > catfile << "eof"

用cat直接将输入的信息输出到catfile中,且当由键盘输入eof时,该次输入就结束。并且不会存在eof关键字。


接下来说下命令执行的判断依据: ; , && ||

  • cmd;cmd(不考虑命令相关性的连续命令执行)
  • $?(命令回传码)与&&或||。若前一个命令执行的结果正确,在linux下面会回传一个$?=0的值。&&与关系,||或关系。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章