Shell命令读取数据与输出数据
2014-09-05来源:

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

更多信息请查看IT技术专栏

推荐信息
Baidu
map