【发布时间】:2016-09-02 11:54:49
【问题描述】:
我试图找出数组项是文件路径还是目录路径。
#!/bin/bash
declare -a arr=("/var/log/symantec/sgs-td","/var/lib/mysql/mysql-slow.log","/var/lib/mysql/mysql-error.log", "/var/log/sa")
## now loop through the above array
for i in "${arr[@]}"
do
if [[ -d $i ]]; then
echo "$i is a directory"
elif [[ -f $i ]]; then
echo "$i is a file"
else
echo "$i is not valid"
exit 1
fi
done
我不了解 shell 语法。
如果路径是目录,则打印 .. 是目录,如果是文件,则打印文件。
【问题讨论】:
-
你的问题是什么?
-
运行脚本时得到的实际输出是什么?
-
/var/log/symantec/sgs-td,/var/lib/mysql/mysql-slow.log,/var/lib/mysql/mysql-error.log, 无效跨度>