Чтобы открыть терминал при запуске, добавьте следующую строку в конец ~/.bash_profile
gnome-terminal &
Чтобы запускать ваш скрипт, когда открывается gnome-терминал, добавьте следующую строку в конец ~/.bashrc
/path/to/script.sh
.bash_profile
запускается, когда пользователь входит в систему, .bashrc
запускается всякий раз, когда открывается терминал. gnome-terminal
- это команда для открытия нового приложения терминала в gnome, &
означает запуск в фоновом режиме (чтобы ваш .bash_profile
не ждал закрытия терминала перед выполнением других команд в нем).
Если ни один из этих файлов не существует, вы можете скопировать шаблон для них из /etc/skel/
или просто создать их, добавив только нужные вам строки.
Также, в качестве примечания, /etc/init.d/
- это место, где система запускала службы (теперь CentOS/RHEL используют /etc/systemd/
). Практически все в /etc/
используется как конфигурация сервисов, что и как делать при запуске машины.
В дополнение к ответам, приведенным в комментариях, вы также должны отметить, что ваш скрипт разбивается на любые имена файлов с пробелами в них.
Вы можете сделать все это одной командой, используя find
, вместо того, чтобы пытаться анализировать список имен файлов, выводимый из find
. Намного более надежный; обрабатывает имена файлов независимо от специальных символов или пробелов.
find "$1" -type f -exec chown "$2" {} \; -exec chmod 600 {} \;
Обратите внимание, что если chown
не работает для данного файла, chmod
не будет запущен для этого файла. Вероятно, вы в любом случае хотите именно такого поведения.
Поскольку вы уже выполнили ошибочную команду, которая удаляла разрешения на выполнение из каталога «Документы», вам необходимо добавить обратно разрешения на выполнение:
chmod u+x Documents
Если есть другие каталоги, для которых были ошибочно удалены разрешения на выполнение, вы сможете исправить их с помощью:
find Documents -type d -exec chmod u+x {} \;
Я не думаю, что вам это понадобится, однако, поскольку после удаления разрешений на выполнение из «Документов» ни один из его подкаталогов не будет доступен, поэтому разрешения на выполнение из них не будут удалены.
Один раз я видел файлы с такими странными правами, это было в серьезно испорченной файловой системе. Раунд fsck(8)
вернул большую часть из них к относительной нормальности, но многие все еще были сильно повреждены. Я полагаю, что это было связано с аппаратной проблемой (удалил хорошие файлы с диска и выбросил его).