天天看點

如何判斷某個裝置檔案是否存在

問:如何在shell裡面實作,判斷裝置檔案是否存在,如果不存在則重新判斷,直到它存在,如果存在了則往下跑?

假設要判斷的裝置檔案是一個字元裝置,例如:/dev/input/event4

while true; do
	if [ ! -c /dev/input/event4 ]; then
		echo "Can not find /dev/input/event4"
		sleep 1
		continue
	else 
		echo "Found /dev/input/event$event_num"
		do something
		break
	fi
done 
           

另外,附上shell  if 語言常用的參數說明

-a file exists. 
-b file exists and is a block special file. 
-c file exists and is a character special file. 
-d file exists and is a directory. 
-e file exists (just the same as -a). 
-f file exists and is a regular file. 
-g file exists and has its setgid(2) bit set. 
-G file exists and has the same group ID as this process. 
-k file exists and has its sticky bit set. 
-L file exists and is a symbolic link. 
-n string length is not zero. 
-o Named option is set on. 
-O file exists and is owned by the user ID of this process. 
-p file exists and is a first in, first out (FIFO) special file or 
named pipe. 
-r file exists and is readable by the current process. 
-s file exists and has a size greater than zero. 
-S file exists and is a socket. 
-t file descriptor number fildes is open and associated with a 
terminal device. 
-u file exists and has its setuid(2) bit set. 
-w file exists and is writable by the current process. 
-x file exists and is executable by the current process. 
-z string length is zero. 
           

繼續閱讀