Shell命令读取数据与输出数据



Shell命令读取数据与输出数据
 
[plain]   www.2cto.com  
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  
 

相关内容

    暂无相关文章