shell函数
shell输入/输出重定向
一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。同样,一个命令通常将其输出写入到标准输出,默认情况下,这也是你的终端。
command1 > file1
执行命令command1,将输出的内容存入到file1 会将file1中的内容覆盖。
追加的话使用,>>
例子
输出重定向
$ who > users
$ cat users
_mbsetupuser console Oct 31 17:35
tianqixin console Oct 31 17:35
tianqixin ttys000 Dec 1 11:33
$ echo "菜鸟教程:www.runoob.com" > users
$ cat users
菜鸟教程:www.runoob.com
$
$ echo "菜鸟教程:www.runoob.com" >> users
$ cat users
菜鸟教程:www.runoob.com
菜鸟教程:www.runoob.com
$
输入重定向
wc命令用来计算字符 wc -l显示行数 -c 只显示Bytes数。-w显示字数
$ wc -l< user 从user文件内容读取内容 进行操作
标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。
标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。
$ command 2 > file 2指定是stderr
$ command 2 >> file 追加重定向
$ command > file 2>&1
或者
$ command > file1 < file2
输出重定向到file2 输入重定向到file1
将两个连在一起写。
command << delimiter
document
delimiter
它的作用是将两个 delimiter 之间的内容(document) 作为输入传递给 command。
$ wc -l <<EOF
"!"
"@"
"ee"
EOF
输出:3
$ cat <<EOF
"1"
"2"
"3"
EOF
输出:123
/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到"禁止输出"的效果。
$ command > /del/null 2>&1
shell文件包含
. filename # 注意点号(.)和文件名中间有一空格
或
source filename