Что -x
значит здесь:
if [ -x /etc/rc.local ] then
Как я могу найти эту страницу руководства для if
?
command-line
bash
тайминдис вун
источник
источник
help if
?Ответы:
Со
man bash
страниц (особенно в разделе «Условные выражения»):источник
test
в bash, вы не вызываетеtest
двоичный файл. Вместо этого вы используетеtest
встроенную в bash встроенную документациюhelp test
, в том числе.man test
может вводить в заблуждение в некоторых случаях по этой причине.if
само по себе является ключевым словом оболочки, поэтому вы можете найти информацию о нем с помощьюhelp if
.if
сама ветвится только в зависимости от того, возвращает ли следующая команда true (0) или false (не ноль). Что вы действительно хотите, хотя,man [
илиman test
, где[
псевдоним дляtest
. Этот оператор фактически выполняетсяtest -x /etc/rc.local
, который проверяет, существует ли этот файл и является ли он исполняемым (или имеет разрешение на поиск).источник
man [
тоже работаетif
- это не оболочка, встроенная в ключевое слово shell. Для проверки запустите эту командуtype if
.От
info test
:Разрешение на выполнение требуется для каталога, чтобы иметь возможность CD в него (то есть, чтобы сделать некоторый каталог вашим текущим рабочим каталогом).
Выполнение необходимо для каталога, чтобы получить доступ к информации «inode» файлов внутри. Это необходимо для поиска в каталоге для чтения инодов файлов внутри. По этой причине разрешение на выполнение в каталоге часто называется разрешением поиска.
источник