人们帮助我用litle代码对参数进行排序 但现在我想检查这个参数是否是一个目录。
if [ -d "$@" ]
then
echo "$@" | tr ' ' '\n' | sort
else
echo this is not a valid map!
fi
通常要检查某些内容是否是您需要使用的目录[ -d file ]
但这一次它不起作用。
如果您有任何想法或解决方案,您可以免费发布! Ty阅读/帮助!
答案 0 :(得分:3)
for f in "$@"; do
if [ ! -d "$f" ]; then
echo "Not a dir: $f"
fi
done
此代码将遍历所有参数并输出那些不是有效目录的参数。但是我不确定你现在要排序的是什么。
答案 1 :(得分:0)
扩大kirelagin的建议:
for f in "$@"; do
if [ ! -d "$f" ]; then
echo "Not a dir: $f" >&2
else
echo "$f"
fi
done | sort
这将回显stderr
的所有非目录参数,并在stdout
上打印已排序的目录列表。