Так что мне нужно запустить кучу (maven) тестов с использованием тестовых файлов в качестве аргумента для задачи maven.сценарий для запуска определенной программы с вводом из заданного каталога
Что-то вроде этого:
mvn clean test -Dtest=<filename>
и тестовые файлы обычно организованы в разных каталогах. Поэтому я пытаюсь написать скрипт, который выполнил бы вышеуказанную команду и автоматически подал бы имя всех файлов в данном каталоге до -Dtest
.
Так что я начал с shellscript под названием «run_test»:
#!/bin/sh
if test $# -lt 2; then
echo "$0: insufficient arguments on the command line." >&1
echo "usage: $0 run_test dirctory" >&1
exit 1
fi
for file in allFiles <<<<<<< what should I put here? Can I somehow iterate thru the list of all files' name in the given directory put the file name here?
do mvn clean test -Dtest= $file
exit $?
часть, где я застрял, как получить список имен файлов. Спасибо,
Что делать, если аргумент только дает мне имя каталога, но не место. Другими словами, я точно знаю, что данный каталог находится где-то в '/. ' но это может быть где угодно. Так что я должен использовать 'для файла в $ (find $ 1 -type d)' (d для каталога?)? –
И в чем смысл '[[-f $ file]]'? –
Оберните один из указанных выше в 'for dir в $ (find. -type d -name $ 1); do ... inner loop ... done' –