私は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 は空でもなくてもかまいませんが、出力は同じで、同じテストを行います
誰が私に何が悪いのか説明できますか?
ありがとう
ところで、ここのスクリプトは、ubuntu unleashed book 2011 edition (書籍サイトhttp://ubuntuunleashed.com/ )の 233 ページにある compare3 の修正版です。