我正在学习bash,并希望你们能用以下脚本帮我解决发生的事情
#!/bin/bash
#primer if
if [ -f $file1 ]; then
echo "file1 is a file"
else
echo "file1 is not a regular file"
fi
#segundo if
if [ -r $file1 ]; then
echo "file1 has read permission"
else
echo "file1 doesnot have read permission"
fi
#tercer if
if [ -w $file1 ]; then
echo "file1 has write permission"
else
echo "file1 doesnot have write permission"
fi
#cuarto if
if [ -x $file1 ]; then
echo "file1 has execute permission"
else
echo "file1 doesnot have execute permission"
fi
fmp@eva00:~/Books/2012/ubuntu_unleashed$./script.sh
file1 is a file
file1 has read permission
file1 has write permission
file1 has execute permission
fmp@eva00:~/Books/2012/ubuntu_unleashed$ll file1
-rw-r--r-- 1 fmp fmp 0 Aug 30 13:21 file1
fmp@eva00:~/Books/2012/ubuntu_unleashed$chmod 200 file1
fmp@eva00:~/Books/2012/ubuntu_unleashed$./script.sh
file1 is a file
file1 has read permission
file1 has write permission
file1 has execute permission
fmp@eva00:~/Books/2012/ubuntu_unleashed$ll file1
--w------- 1 fmp fmp 0 Aug 30 13:21 file1
fmp@eva00:~/Books/2012/ubuntu_unleashed$chmod 000 file1
fmp@eva00:~/Books/2012/ubuntu_unleashed$ll file1
---------- 1 fmp fmp 0 Aug 30 13:21 file1
fmp@eva00:~/Books/2012/ubuntu_unleashed$./script.sh
file1 is a file
file1 has read permission
file1 has write permission
file1 has execute permission
file1可以是空的,但仍然输出相同,进行相同的测试
任何人都可以向我解释有什么问题吗?
谢谢
BTW这里的脚本是比较3的修改版本,在ubuntu发布的2011年版本(书籍网站http://ubuntuunleashed.com/)第233页
解决方法:
file1变量未定义.
你应该在你的脚本开头添加file1 =“file1”