【发布时间】:2014-07-28 04:58:28
【问题描述】:
我是 Bash 脚本的新手,我一直在玩它,但我有一个我不明白的脚本:
#!/bin/bash
for name in $(ls $HOME)
do
if [ -f $name -a -r $name ]
then
echo "$name is file"
fi
done
如果我运行它,它不会打印任何内容。 我很确定在我的主目录中我有可读的文件。例如:
-rw-r--r-- 1 user user 368 feb 17 22:39 requirements.txt
如果我用另一个目录测试它,它会告诉我有两个可读的文件:
-rwxr-xr-x 1 user user 442 jul 27 23:47 longest-and-shortest-username.sh
-rwxr-xr-x 1 user user 1155 jul 28 00:39 options-for-files-in-directory.sh
我的 Bash 版本是:4.2.45(1)-release
我会失去什么吗?
【问题讨论】:
-
您的脚本将打印名称没有空格且可读的常规文件的名称。你有什么问题?
-
@John1024 我的问题是为什么它不打印可读的文件(检查例如 requirements.txt)