Bash Shell重定向改变脚本

Bash Shell重定向改变脚本,正常情况下,无论输入是来自键盘或文件,还是输出到屏幕或文件,你都希望脚本能保持相同的行为。但如果偶尔想对此进行区分,该如何在脚本中实现呢?

解决方案

可以在 if 语句中用 test -t 0 对两种行为做出选择。0 是标准输入的文件描述符;测试标准输出重定向则使用 1。如果文件描述符连接到终端,测试结果就为真;否则,测试结果则为假(例如,重定向到文件或通过管道连接到另一个程序)。

讨论

在这么做之前,一定要三思。bash 脚本编程中的大量功能和灵活性都源于脚本能够通过管道彼此相连这一事实。当输入或输出被重定向时,要确保你有足够充分的理由让脚本做出这么奇怪的处理。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!