Bash for зацикливает все файлы в папке, кроме одного [дубликат]

Вы можете использовать команду usermod , чтобы изменить учетные данные пользователя:

UID или GID:

usermod -u NEW_UID USERNAME
usermod -g NEW_GID USERNAME

Таким образом, вы можете принять ценности вашей старой системы.

Местоположение домашнего каталога (только при неполном перемещении / home ...)

usermod -d /path/to/new/home/dir USERNAME

Чтобы также переместить содержимое текущего домашнего каталога в новое местоположение, используйте параметр -m .

В качестве альтернативы вы также можете просто переместить старые файлы / etc / passwd , / etc / group и / etc / shadow в новую систему и пропустить сброс UID на GID.

Одна проблема, которую я вижу, может заключаться в том, что две системы используют одни и те же имена для некоторых файлов конфигурации и, таким образом, вызывают ошибки.

2
30.01.2019, 10:51
2 ответа

Попробуйте это,

for test_file in folder/*.robot; 
do 
    [ "$test_file" != "config.robot" ] && robot -b debug.log -d log/ $test_file.robot;
done
  • robotбудет работать, только если $test_fileне равноconfig.robot

или просто с помощьюfind

find folder/*.robot ! -name "config.robot" -exec robot -b debug.log -d log/ {} +
1
27.01.2020, 21:52

Вы можете использовать команду continue.

Также обратите внимание, что переменная получает весь путь.

for f in folder/*.robot; do
    test "$f" = folder/config.robot && continue 
    robot -b debug.log -d log/ "$f"
done
2
27.01.2020, 21:52

Теги

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