linux-shell2

一,shell的输入,输出

1,echo:显示文本行,变量或者把字符串输入到文件

格式:echo [option] string

-e 解析转义符

-n 回车不换行

 

2, read

$ cat read.sh
#!/bin/bash
#read test
echo -n "first name:";
read first;
echo -n "last name:";
read last third;
echo -e "your firstname : ${first}";
echo -e "your lastname: ${last}";

echo -e "your lastname: ${third}";

echo "done";

 

3,cat

-v 参数,显示控制字符。

 

4,管道

df -h| awk '{print $1}'|grep -v "Files"

 

5,tee

把输出的一个副本输送到控制台,另一个副本拷贝到文件。

-a 参数表示追加

 

 

6,标准输入,输出和错误

在shell执行命令的时候,每个进程都和三个打开的文件相关联,并使用文件描述符来引用这些文件。

7,文件重定向

改变程序的输入来源或者输出地点。

grep "zqm" zqm.txt 2>>/dev/null

 

 8,exec

启动一个新的shell,并不生成子shell,当前所以环境变量都会被清除。

格式:exec conmand(通常是一个shell脚本)

 

exec对文件描述符操作时不会覆盖当前的shell

$ cat exec.sh
#!/bin/bash
###test exec
exec 3<&0 0< name.txt  #标准输入指向文件描述符3,既是打开文件描述符3
read line1
read line2
exec 0<&3         #文件描述符3重定向到标准输入,既是关闭文件描述符3
echo $line1
echo $line2

 

 

9,其他

date "+%Y%m%d"

你可能感兴趣的:(linux,bash)