2012-05-09 32 views
0

我試圖編寫一個腳本,它將能夠執行一些內置命令,如:cp,rm,ls或其他。 菜單可能是這樣的:在Unix shell中,如何檢查用戶的權限,如果用戶沒有,如何產生錯誤信息?

  1. 列表中的當前目錄
  2. 重命名文件
  3. 當你執行刪除文件
  4. 出口

,一些命令如「ls - la $ currentdirectory「 這將顯示當前目錄的幾乎所有信息。

SO:?如果用戶沒有權限做到這一點,(用戶沒有權限爲「LS」該目錄

什麼命令可以查看權限 如何產生的錯誤信息如果用戶不具有的權限? 乾杯 希望能得到這個問題的答案。

回答

0
grep -i umask ~/.profile /etc/profile 
2

你不需要任何單獨的命令找出權限上的目錄/文件。ls本身還挺輸出錯誤消息

例如,我帶走所有的權限從每個人,

chmod 000 some_folder 
ls some_folder/ 
ls: some_folder/: The file access permissions do not allow the specified action. 

大多數命令在類Unix系統會自動報錯了一個錯誤信息,如果他們沒有足夠的權限來做好自己的工作!底層框架將考慮不允許權限不足的用戶/應用程序運行。

+0

我想你錯過了我的另一個問題:如果該用戶沒有權限,如何產生一條錯誤消息?我只是想寫一個腳本,可以處理該錯誤,如果發生錯誤 – user1383819

+0

@ user1383819您錯過了這一點。命令本身會產生一個錯誤,如上面的答案所示。要檢查前面的命令是否錯誤輸出,可以在shell腳本中檢查'$?'的值 –

相關問題