Что означает -x здесь:
if [ -x /etc/rc.local ] then
Как я могу узнать эту страницу руководства для if?
if сам по себе является ключевым словом оболочки, поэтому вы можете найти информацию об этом с помощью help if. if сам по себе только ветви на основе того, возвращает ли следующая команда true (0) или false (не ноль). Однако вам действительно нужно man [ или man test, где [ является псевдонимом для test. Этот оператор фактически выполняет test -x /etc/rc.local, который проверяет, существует ли этот файл и является его исполняемым (или имеет разрешение на поиск).
Из info test:
`-x FILE'
True if FILE exists and execute permission is granted (or search permission, if it is a directory).
Требуется разрешение на работу в каталоге, чтобы иметь возможность вставлять в него (т. е. сделать какой-то каталог вашей текущей рабочей директорией).
Выполнение необходимо в каталоге для доступа к информации «inode» файлов внутри. Вам нужно это для поиска в каталоге, чтобы прочитать inodes файлов внутри. По этой причине разрешение на выполнение в каталоге часто называется разрешением на поиск.