Скрипт Randomizer не выполняет рандомизацию

Когда вы создаете пользователя, вы должны установить права собственности с помощью chownдля каждого каталога для каждого пользователя.

Например:

sudo chown usertest:groupsftp /home/rootsftp/usertest
0
03.02.2021, 21:10
2 ответа

Вы нигде не сохраняете перемешанный вывод из languagecodes.txt. Вы отправляете результат перетасовки в /dev/null, где он исчезает навсегда. Когда вы позже сохраните заголовок вашего файла в переменной LANG, вы просто используете исходный неперетасованный файл.

Измените функцию ReRoll на эту:

LANG=$(sort -R /home/pi/GT-bash-client/languagecodes.txt | head -1)

(Также нет необходимости во всех вызовах sleep.)

2
18.03.2021, 22:32

Проблема в вызове сортировки. Вывод по умолчанию для команды сортировки — стандартный вывод. Вы вызываете эту функцию со спецификацией >/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
}
0
18.03.2021, 22:32

Теги

Похожие вопросы