Модуль libpam принадлежит пользователю root, но его может исполнять/использовать кто угодно, поэтому у вас не должно возникнуть никаких проблем. Большую озабоченность вызывает то, как вы собираетесь изменять другие настройки или даже устанавливать RStudio Server без прав root.
Ваша ошибка связана со следующей строкой скрипта:
sed -i $REPLACE $1
При этом используется как переменная REPLACE
, так и $1
без кавычек, что означает, что оболочка разделит их на слова по пробелам, табуляциям и символам новой строки (, а затем дополнительно обработает эти слова для шаблонов подстановки имен файлов ). Затем эти слова будут даны как отдельные аргументы - sed
.
Вам может сойти с рук использование
sed -i -e "$REPLACE" -- "$1"
Кроме того, в вашей clone_directory
функции есть несколько переменных без кавычек:
rename_file ${dir_name}
ROOT=$FILE_NEW
cd $ROOT
а также в вашей replace_tags
функции (обратите внимание, что использование {...}
вокруг имен переменных обычно не требуется и не эквивалентно заключению переменной в кавычки ).
Также обратите внимание, что параметры оболочки не являются локальными для функций, поэтому установка extglob
в get_file_folder_name
сделает их глобальными.
См. также: