Linux
如何檢查 /proc// 文件的讀取權限?
中的文件
/proc/
似乎是世界可讀的,但返回權限被拒絕:$ ls -lh /proc/5589/smaps -r--r--r-- 1 root root 0 Mar 18 13:11 /proc/5589/smaps $ cat /proc/5589/smaps cat: /proc/5589/smaps: Permission denied
我想避免閱讀此類文件,但
-r
檢查通過:$ if [ -r /proc/5589/smaps ] ; then echo readable ; fi readable
如何檢查文件是否真正可讀?
if cat /proc/5589/smaps 2>/dev/null 1>/dev/null; then echo readable ; fi
或少讀
if head -n 1 /proc/5589/smaps 2>/dev/null 1>/dev/null; then echo readable ; fi
更新:
我認為您需要在腳本中結合這兩項檢查:1)如果
$$ -r /proc/5589/smaps $$ 2) 如果貓 /proc/5589/smaps 2>/dev/null 1>/dev/null; 因此,首先您檢查文件權限,然後檢查讀取 proc 文件的結果。例如:
filename="/proc/5589/smaps" if test -r "$filename" && cat "$filename" 2>/dev/null 1>/dev/null; then echo readable else echo not readable fi