如何控制echo命令的输出位置

wanghao19920907 2017-01-10 10:20:36
如题,我想使用一个参数控制一个变量的是文件还是终端
这样我echo的时候,就可以通过这个参数控制我的输出内容是否是打印打屏幕上还是输出到文件中
比如

if [ "$1" == file ]
then
tag=a.txt
elif [ "$1" == terminal ]
then
tag=“终端?”
else
echo error!
fi
echo “hello“” > $tag

如以上例子,我通过控制$1为file还是terminal,就可以控制hello的输出位置,但我不知道终端文件是什么,我试了&1,但是不行,他把$1认为了一个文件名
求助!!!!!!万分感谢!
...全文
806 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
稀烂 2017-01-13
  • 打赏
  • 举报
回复
试试这样改是否符合你的要求。 if [ "$1" == file ] then tag=a.txt elif [ "$1" == terminal ] then tag="/dev/stdout" else echo error! fi echo "hello" >$tag
  • 打赏
  • 举报
回复
可以重定向 echo hello 2>a.txt
wanghao19920907 2017-01-11
  • 打赏
  • 举报
回复
那输出到文件呢,怎么通过参数控制输出到哪呢?

18,777

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧