2012-05-09 2 views
0

Я пытался написать скрипт, который сможет выполнить некоторую встроенную команду, например: cp, rm, ls или что-то еще. меню может выглядеть так:В оболочке Unix, как проверить разрешение пользователя, если у пользователя нет, как создать сообщение об ошибке?

  1. список текущий каталог
  2. Переименовать файл
  3. Удалить файл
  4. выхода

при выполнении которой некоторые команды, такие как «LS - la $ currentdirectory " , который отобразит почти всю информацию текущего каталога.

SO:.?, Если пользователь не имеет разрешения, чтобы сделать это, (пользователь не имеет разрешения на «LS», что каталог

, что команда может проверить разрешение Как производить сообщение об ошибке если пользователь не имеет доступа? Приветствия надежды получить этот ответ.

ответ

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 Вам не хватает точки. Сами команды будут вызывать ошибку, как показано в ответе выше. Чтобы проверить, была ли предыдущая команда исправлена ​​ошибка, вы можете проверить значение '$?' Внутри вашего сценария оболочки –

Смежные вопросы