Linux 输入重定向
输入重定向(从数据文件中获取stdin)
1 | < filename |
从文件filename中获取stdin,例如: sort < telno.txt
。
输入重定向(从shell中获得stdin:允许替换)
1 | <<word |
从shell脚本文件获取数据直到再次遇到定界符word
1 | [root@localhost ~]# cat << END |
不加单引号的情况,可以使用$变量名
的形式获取变量的值:
[root@localhost 文件管理和目录管理]# cat << END > hello you home dir is $HOME > END hello you home dir is /root [root@localhost 文件管理和目录管理]#
1 | [root@localhost 文件管理和目录管理]# cat << END |
定界符所界定内容加工处理(等同双引号处理):
- 变量替换,命令替换
- 不执行文件名生成
输入重定向(从shell中获得stdin:不许替换)
<<word
从shell脚本程序获取数据直到再次遇到定界符,定界符两侧加单引号:不允许定界符之间的内容进行替换操作。
定界符加上单引号,禁止替换操作:
[root@localhost 文件管理和目录管理]# cat << 'END' > hello you home sir is $HOME > END hello you home sir is $HOME [root@localhost 文件管理和目录管理]#
输入重定向(从命令行获取信息作为标准输入)
1 | <<<word |
直接使用三个大于号后面的单词作为命令的输入。
1 | [root@localhost shell的基本机制]# base64 <<< helloWorld |
在批处理文件中输入重定向的定界符之后还可接着写其他命令:
1 | [root@localhost shell的基本机制]# cat InputRedirection.sh |
[root@localhost shell的基本机制]# cat InputRedirection2.sh
cat << ‘TOAST’
Now : date
My Home Directory is $HOME
TOAST
pwd
[root@localhost shell的基本机制]# bash InputRedirection2.sh
Now : date
My Home Directory is $HOME
/root/Linux_Test/shell的基本机制
[root@localhost shell的基本机制]#