echo,read,cat,tee,重定向以及管道

echo

echo的常用参数:

  • -n:取消缺省的换行符
  • -e:启用\的特殊转义功能,此时\n代表换行(默认特殊转义功能是关闭的)
  • -E:关闭\的特殊转义功能
例子:
echo "hello world"
echo -ne "hello world\n"
二者效果一样

read
read命令:通过键盘输入给变量赋值,常用参数有:
  • -p:增加提示语
  • -t:设置超时,若超时则变量值被设为空
例子:
read -p "Please input a number" -t 10 var

cat
cat用于快速显示文件内容,但不会分段显示。若要分段显示,应使用命令more或者less
cat的一些特殊用法:
cat a b > c  #将文件a、b内容合并,并保存至c
cat /dev/null > a  #将文件a的内容清空
cat -n a > b  #将文件a的内容加上行号,并保存至b

tee
tee的作用:命令执行结果输出到屏幕的同时,保存至指定文件
例子:
ls -l | tee outfile
另:tee默认对文件先清空后覆盖,若要改为追加内容的话,用-a参数

重定向
标准输入(stdin):0,标准输出(stdout):1,标准错误输出(stderr):2
>>:在文件尾部追加(与>区别)
2>&1:将标准错误输入并入标准输出(一般用于将stdout和stderr重定向至同一文件),例如
find / -name "1.sh" 1>outfile 2>&1  #正确
find / -name "1.sh" 1>outfile 2>outfile  #错误,会造成混乱
注意:当重定向符号>, <右侧是文件描述符而非文件名时,需要加&,如... 2>&1, ... < &0

管道
管道(pipe)是将上一条command的 stdout作为到下一条command的 stdin
因此需要注意,管道处理的对象只是stdin和stdout而不是别的什么东西
另外,尽管连接了管道,但若不对stderr作任何处理的话,它一样会打印到屏幕上来
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值