Shell下令读取数据与输出数据
Shell命令读取数据与输出数据
shell脚本读取数据的几种方式: 1.键盘输入,默认 2.从文件中读取 3.通过管道命令传递 echo的功能: \c :不换行 \f :进纸 \t :跳格 \n :换行 \表示转义,例如:"\"/dev/rmt0"\"翻译为,"/dev/rmt0" read:从键盘或文件的某一行文本中读取信息,并将其赋给一个变量。 [开发]/>read name hello i am a regular user [开发]/>echo $name hello i am a regular user [开发]/> cat:作用,1.显示文件内容,2.创建文件,3.显示控制字符。 1.显示文件内容 cat filename | more cat filename | pg 2.创建文件 cat > filename 3.显示控制字符 cat -v filename 管道:可以通过管道,将一个命令的输出传递给另一个命令做为输入。 形式:命令1 | 命令2 例如: [开发]/usr/xxxx/ytcclb>who | awk '{print $1"\t"$2}' xxxx ttyp0 xxxx ttyp1 xxxx ttyp2 ... xxxx ttyp55 [开发]/usr/xxxx/ytcclb>df -k | awk '{print $1}' | grep -v "Filesystem" /dev/root /dev/boot [开发]/usr/xxxx/ytcclb>df -k | awk '{print $1}'| grep -v "Filesystem"|sed s'/\/dev\///g' root boot [开发]/usr/xxxx/ytcclb> tee命令 作用:把输出的一个副本输送到标准输出,另一个副本拷贝到相应的文件中。 tee -a file -a:追加到文件末尾。 [开发]/usr/xxxx/ytcclb>who | tee who.out 将who命令查找到的数据保存到who.out文件中。 文件重定向: command > filename 把标准输出重定向到一个新文件中 command >> filename 把标准输出重定向到一个文件中(追加) command 1 > fielname 把标准输出重定向到一个文件中 command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中 command 2 > filename 把标准错误重定向到一个文件中 command 2 >> filename 把标准输出重定向到一个文件中(追加) command >> filename 2>&1 把标准输出和标准错误一起重定向到一个文件中(追加) command < filename >filename2 把command命令以filename文件作为标准输入, 以filename2文件作为标准输出 command < filename 把command命令以filename文件作为标准输入 command << delimiter 把从标准输入中读入,直至遇到delimiter分界符 command <&m 把文件描述符m作为标准输入 command >&m 把标准输出重定向到文件描述符m中 command <&- 把关闭标准输入 重定向标准输出 1.将很多命令的输出追加到一个文件中 ls -l | grep ^d >>files.out ls account* >> files.out [开发]/usr/xxxx/ytcclb>ls -l null.txt -rw-r--r-- 1 xxxx group 3 Nov 15 16:07 null.txt [开发]/usr/xxxx/ytcclb>chmod u +x null.txt chmod: WARNING: cannot access +x: No such file or directory (error 2) u与+x之间有空格! [开发]/usr/xxxx/ytcclb>chmod u+x null.txt [开发]/usr/xxxx/ytcclb>ls -l null.txt -rwxr--r-- 1 xxxx group 3 Nov 15 16:07 null.txt