我想通过第一列判断文件类型,最后实现:
echo出“文件名xx是一个xx类型的文件!”
在我写出判断语句之后,不知道怎么改写(for 能定义多的参数吗?)
‘4’-----是我写的shell
在‘3’处我想替换成文件名该怎么实现呢?是否要用到列表?
楼主提问的方式非常赞,把问题写的明明白白的。
可以考虑一下AWK的方式处理
ll |grep -v total |awk '{a=substr($1,1,1);if(a"-"){print $9"is a file"}else if(a"d"){print $9"is a dir"}}'
感谢您的答复
一开始我也是用awk输出的,如果放在脚本里,
我就不知道咋写了。。。
你需要的这个处理是否这样可以直接输出
for file in *; do
if [ -h "$file" ]; then
echo "LINK: $file"
elif [ -L "$file" ]; then
echo "LINK: $file"
elif [ -d "$file" ]; then
echo "DIR $file"
elif [ -f "$file" ]; then
echo "FILE $file"
fi
done
是的
我写的shell没有依靠参数进行判断
这样写的话似乎更加简洁易懂