У меня, похоже, возникают проблемы с куском кода, который я пишу (по крайней мере, я думаю, так или иначе). Это скрипт, который анализирует текстовый файл test3_data.txt с кучей идентификаторов пользователей в них и помещает эти идентификаторы пользователя в переменную с именем «USER_ID». Затем я проверяю, есть ли у них домашний каталог с любым текстом в переменной USER_ID. Если это так, он удаляет пользователя из системы вместе со своими файлами, домашним каталогом и т. Д. Скрипт отлично работает, но когда он выполняется, отображаются страницы man для команды userdel. Стоит ли вообще останавливаться на этом? Их что-то не так с моим кодом? Благодаря! и вот мой код.Персональные страницы, появляющиеся в конце сценария sh.
!/bin/sh
while read IN_RECORD
do
#Variable that reads user id
USER_ID=`echo $IN_RECORD |cut -d'|' -f1`
#Remove added users from data file.
test -d /home/{$USER_ID}
if [ "$?" = "1" ];
then
userdel -r $USER_ID
fi
done < test3_data.txt
спасибо. У меня на самом деле было # в #!/Bin/sh, но по какой-то причине он не копировался здесь. Благодарим вас за исправление меня в переменной. Хотя я не понимаю, как переменная может быть пустой? Скрипт работает правильно и успешно удаляет файлы/каталоги (в зависимости от того, что находится в этой переменной). – mcgovernmatt
Ударьте это ... Я еще раз пересмотрел свой код и забыл что-то изменить. Теперь он отлично работает. Спасибо снова! – mcgovernmatt
О '[['. В последнее время я немного зациклен на слово «устаревшее». Хороший совет, чтобы прочитать это: http: // stackoverflow.com/questions/669452/is-preferable-over-in-bash-скрипты, которые дают некоторую пищу для размышлений. Затем определите свой стиль кодирования. – thom