I/O重定向问题
shell脚本:test内容:
function_testOne()
#这个shell函数用于测试shell函数的输入重定向、文件内容读取及输出重定向
{
read a b c #用于读取输入重定向到函数的文件内容
echo "输出测试${a}"
echo ${b}
echo "string">>test6 #这一句没有输出到文件
# echo "string"> test6 #和上一句进行比较。这一种把前两句输出到test6文件的内容删了,后面输出内容正常
echo ${*} #没有输出
echo ${1} #没有输出
ls –y #错误命令行
echo "hello">>test6 #test6可以被写入,并且是在文本最后写入
} 1>test6 2>&1 #函数输出重定向到test6
function_testOne <test3
执行shell脚本:bash test
输入:test3文件里面的内容为:1 2 3
输出: test6文件的内容是:
输出测试1
2
【这是一个空行】
【这也是一个空行】
ls: invalid option -- 'y'
Try 'ls --help' for more information.
hello
问题,echo "string">>test6这一句为什么没有输出?
echo "hello">>test6 内容为什么是写在test6文件的最后?
test6文件的打开周期是对应程序执行的哪一段?如果是整个函数执行的这段时间,test6均是打开状态,那么,echo "hello">>test6为什么会被写入?已经打开的文件不是不能被写入了吗?