(编辑:有一个错字导致问题。请参阅现有答案的评论)
我想要stat
一个符号链接到另一个文件的文件,并认为我可以使用 subshell 和 readlink 命令替换来完成这项工作。对于上下文,让我提一下这是在 OS X 10.8.3 (Darwin) 上。
但是我遇到了一个权限被拒绝的错误。
ujagtahb@ujags-Retina-MBP-5.local:~/Code_Pen/c_exp$(cd /usr/share/locale/; stat $(en_US/LC_COLLATE))
bash: en_US/LC_COLLATE: Permission denied
727393128 1449 crw--w---- 1 ujagtahb tty 268435496 0 "Aug 12 11:36:50 2013" "Aug 12 11:36:51 2013" "Aug 12 11:36:51 2013" "Aug 12 11:36:51 2013" 131072 0 0 (stdin)
我检查了 readlink 命令的输出,果然,我没有发现任何问题。
ujagtahb@ujags-Retina-MBP-5.local:~/Code_Pen/c_exp$readlink /usr/share/locale/en_US/LC_COLLATE
../la_LN.US-ASCII/LC_COLLATE
stat
直接输入文件不会引发错误并产生我需要的输出。
ujagtahb@ujags-Retina-MBP-5.local:~/Code_Pen/c_exp$stat /usr/share/locale/la_LN.US-ASCII/LC_COLLATE
16777218 284538 -r--r--r-- 1 root wheel 0 2086 "Aug 12 11:36:51 2013" "Jul 22 07:55:02 2012" "Jul 22 07:55:02 2012" "Jun 21 01:35:25 2012" 4096 0 0x20 /usr/share/locale/la_LN.US-ASCII/LC_COLLATE
是什么导致许可在一种情况下被拒绝,但在另一种情况下却没有?