shell--输入输出
来源:互联网 发布:梦幻西游数据号怎么弄 编辑:程序博客网 时间:2024/06/07 07:12
1. read
read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量。
read name
echo "$nameIt is a test"
2. echo (自动添加换行符)
-e 开启转义
echo -e"OK! \n" #显示换行
echo -e"OK! \c" # -e 开启转义 \c 不换行
显示结果定向至文件
echo"It is a test" > myfile
原样输出字符串,不进行转义或取变量(用单引号)
echo'$name\"' #结果为$name\"
显示命令执行结果
echo `date` #结果为Thu Jul 2410:08:46 CST 2014
3. printf (手动添加\n实现换行)
printf 格式控制字符串 [参数列表]
l 格式控制字符串单引号与双引号效果一样,没有引号也可以输出
l
printf"%-10s %-8s %-4s\n" 姓名性别 体重kg
printf"%-10s %-8s %-4.2f\n" 郭靖男 66.1234
printf"%-10s %-8s %-4.2f\n" 杨过男 48.6543
printf"%-10s %-8s %-4.2f\n" 郭芙女 47.9876
姓名 性别 体重kg
郭靖 男 66.12
杨过 男 48.65
郭芙 女 47.99
l %s %c %d %f都是格式替代符
l %-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。
l %-4.2f 指格式化为小数,其中.2指保留2位小数。
printf转义序列
\a
警告字符,通常为ASCII的BEL字符
\b
后退
\c
抑制(不显示)输出结果中任何结尾的换行字符(只在%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略
\f
换页(formfeed)
\n
换行
\r
回车(Carriage return)
\t
水平制表符
\v
垂直制表符
\\
一个字面上的反斜杠字符
\ddd
表示1到3位数八进制值的字符。仅在格式字符串中有效
\0ddd
表示1到3位的八进制值字符
4. test 用于检查某个条件是否成立
字符串、字符和文件运算符与逻辑运算符类似。
if test $[num1] -eq $[num2]
then
echo '两个数相等!'
else
echo '两个数不相等!'
fi
【输入输出重定向】
command > file
将输出重定向到 file。
command < file
将输入重定向到 file。
command >> file
将输出以追加的方式重定向到 file。
n > file
将文件描述符为 n的文件重定向到 file。
n >> file
将文件描述符为 n的文件以追加的方式重定向到 file。
n >& m
将输出文件 m和 n 合并。
n <& m
将输入文件 m和 n 合并。
<< tag
将开始标记 tag和结束标记 tag 之间的内容作为输入。
文件描述符 0 通常是标准输入(STDIN),1是标准输出(STDOUT),2是标准错误输出(STDERR)。
Here Document 是 Shell 中的一种特殊的重定向方式,用来将输入重定向到一个交互式 Shell 脚本或程序。
command << delimiter
document
delimiter
l 结尾的delimiter一定要顶格写,前面不能有任何字符,后面也不能有任何字符,包括空格和 tab缩进。
/dev/null文件
如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null:
$ command > /dev/null
如果屏蔽stdout和stderr,可以写成
$ command > /dev/null 2>&1
- shell 输入输出
- shell输入输出
- shell 输入输出
- shell--输入输出
- Shell输入输出
- [shell]shell输入输出重定向
- shell输入输出和环境变量
- shell 输入输出(转发)
- shell 输入输出脚本
- shell脚本中的输入输出
- shell输入输出重定向
- Shell输入输出重定向
- (3) Shell 输入输出
- shell的输入输出
- Shell输入输出重定向
- Shell中输入输出重定向
- linux shell输入输出重定向
- shell输入输出与|| &&
- 3836: [Poi2014]Tourism
- linux生产者消费者(2)
- ProgressBar线程更新问题
- JNI中字符串之间的转换
- Android差分升级原理和实现方式
- shell--输入输出
- Android使用UiAutomator进行测试
- 牛顿迭代法总结
- UiAutomatorHelper
- 菜鸟的安卓之路。2016.06.21
- Linux下网卡eth1如何修改为eth0
- Slidingmenu 提供属性修改
- shell--流程控制
- android的自动播放和伪无限循环的广告轮播实现