日期:2014-05-16  浏览次数:20674 次

shell求助
现在遇到一个很棘手的问题:
我有一个shell脚本,例如test.sh
执行的时候不接收参数或者接收重定向两种方式
./test.sh
or
./test.sh < test.txt

请问各位大虾如何在脚本中区分这两种情况。

(我已经试过N多情况,未能实现。所以请大家回帖的时候
能够实现了以后再答,不要凭感觉回答,因为这个
题目没想象中那么简单)





------解决方案--------------------
你在test.sh里面

开始时 value=`cat /dev/stdin`

./test.sh < test.txt
如果有输入重定向的话 value有值,否则就没值
------解决方案--------------------
探讨
你在test.sh里面

开始时 value=`cat /dev/stdin`

./test.sh < test.txt
如果有输入重定向的话 value有值,否则就没值

------解决方案--------------------
#!/bin/ksh

tty -s
if [ $? -ne 0 ]; then
echo "输入重定向"
else
echo "no重定向"
fi

------解决方案--------------------

用可执行程序实现吧