第1个回答 2013-12-20
if($1=='/root') ##第一个参数是/root
then
cd /root ##切换到/root目录
ls -a|tee -a 13out ##显示/root下所有文件并追加到13out
for i in $* ; do ##循环其它参数
if(i -ne 1) ##略过第一个参数
then
if( -f $i) ##如果是文件 打印文件内容并输出到13out
then
cat $i|tee -a 13out
elif(-d $i) ##如果是目录输出提示
then
echo $i为目录文件
else ##其它情况输出提示
echo $i既不是普通文件也不是目录文件
fi
done
else ##如果第一个参数不是/root 打印信息并退出
echo "第一个位置参数不是/root目录!"
exit 0
fi
没测试过 自己试试吧
第2个回答 2013-12-20
#!/bin/bash
(( $# > 0 )) || exit
[[ ! $1 =~ ^[/]*root$ ]] && echo "第一个位置参数不是/root目录" && exit
ls -a /$1 > 13out
shift
while (( $# > 0 ))
do
[ -f $1 ] && echo "File "$1":" >> 13out && cat $1 >> 13out && shift && continue
[ -d $1 ] && echo "this dir" && shift && continue
echo "该文件($1)既不是普通文件也不是目录文件"
shift
done