求助,shall编程,,帮忙啊,编写一个shell脚本程序,它能根据输入的命令行参数采取不同的动作:

编写一个shell脚本程序,它能根据输入的命令行参数采取不同的动作:如果是目录,则列出该目录中的文件;如果是可执行的文件,则用shell执行之;如果是可读的文件,则分屏显示其内容。

楼主,你好!
貌似这个题目我见了好多次,是一本书的练习题吧

这次就写一个吧,其实遇到这种问题,希望大家都去学习下shell基础编程,不然,就算别人帮助了你,你看不懂怎么办?

#!/bin/bash
echo -n "请输入一个文件或目录名:"read Input
if [ -d $Input ]
then
ls $Input
elif [[ -f "$Input" && -r "$Input" ]]
then
more $Input
exit 1
else
echo "ERROR:输入的不是文件或目录名"
fi

希望采纳!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-24
#!/bin/bash

#首先定义两个错误码,一个是参数不够,一个是传入的参数代表的文件不存在
E_PARAM1=1
E_PARAM2=2
PATH=$(pwd)
if [[ $# -eq 0 ]]; then
echo "Usage: $0 parameter"
exit $E_PARAM1
fi
#可以输入多个参数,遇到不存在的文件就退出
for i in $@
do
if [[ ! -s $i ]]; then
echo "$i: no such file or directory"
exit $E_PARAM2
fi
if [[ -d $i ]]; then
/bin/ls $i
elif [[ -x $i ]]; then
${PATH}/$i
elif [[ -r $i ]]; then
/bin/more $i
else
echo "ignored"
fi
shift
done本回答被提问者和网友采纳
相似回答