Я видел, как клиент выполнил команду $bash -x
, чтобы проверить, является ли файл исполняемым (или команда ksh -x
и т.д.), как -x
в операторе if
в оболочке script.
Мой вопрос: Что делает команда $bash -x
?
Моя интерпретация заключалась в том, чтобы запустить команду в новой оболочке bash в текущей оболочке, наследующей одни и те же переменные среды и выполняемой одним и тем же пользователем.
Самое смешное, что я могу сделать $ls
, но не $bash -x ls
, которые дают:
(под AIX 6)
/usr/bin/ls: /usr/bin/ls: cannot execute binary file
Для меня загадка, почему ошибка - угадать, что это связано с привилегией, которая означает, что мое предположение выше неверно.
Кроме того, я считаю, что $bash ls
и $bash -x ls
- это одно и то же (-x
для "execute" )?
Любые комментарии приветствуются.
Ура!