我有一个脚本,它接受了几个参数.
现在,我已将脚本修改为除多个文件名以外的操作.
我还希望在通过管道(|)或重定向输入(<)接收输入时执行此脚本.但是,当不提供上述三个输入时,我不希望脚本在终端上等待输入,而是显示使用说明.
我使用以下功能:
# PIPED CONTENT
if [ "$#" == "0" ]; then
READINPUT="1"
if [ "x$TEXTINPUT" == x"" ]; then
READINPUT=1
TMPFL=`tempfile -m 777`
while read data; do
echo "${data}" >> $TMPFL
done
TEXTINPUT="`cat $TMPFL`"
rm $TMPFL
fi
# if [ "x$TEXTINPUT" == x"" ]; then
# if [ "$#" == "0" ]; then usage; fi
# fi
fi
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.
关于
Nikhil Gupta
if test -t 0; then
echo Ignoring terminal input.
else
process -
fi
Run Code Online (Sandbox Code Playgroud)
该-t测试需要一个文件描述符作为参数(0标准输入),并且如果它是一个终端返回true.
| 归档时间: |
|
| 查看次数: |
275 次 |
| 最近记录: |