Когда вы создаете пользователя, вы должны установить права собственности с помощью chown
для каждого каталога для каждого пользователя.
Например:
sudo chown usertest:groupsftp /home/rootsftp/usertest
Вы нигде не сохраняете перемешанный вывод из languagecodes.txt
. Вы отправляете результат перетасовки в /dev/null
, где он исчезает навсегда. Когда вы позже сохраните заголовок вашего файла в переменной LANG, вы просто используете исходный неперетасованный файл.
Измените функцию ReRoll на эту:
LANG=$(sort -R /home/pi/GT-bash-client/languagecodes.txt | head -1)
(Также нет необходимости во всех вызовах sleep
.)
Проблема в вызове сортировки. Вывод по умолчанию для команды сортировки — стандартный вывод. Вы вызываете эту функцию со спецификацией >/dev/null. Это означает, что ваш скрипт ничего не печатает, а вместо этого он не будет перезаписывать ваш текстовый файл языковых кодов. Если вы хотите переписать файл languagecodes.txt с некоторой случайной сортировкой, вы должны указать команду сортировки «-o параметр».
Таким образом, вы можете переписать свою функцию следующим образом:
function ReRoll(){
sort -R languagecodes.txt -o "./languagecodes.txt" > /dev/null
sleep 0.5
LANG=$(head -n 1 /home/pi/GT-bash-client/languagecodes.txt)
sleep 0.1
}