Если ваши сценарии запуска являются общими и вы хотите, чтобы команда source
выполнялась, если это возможно, оберните ее тестом:
[ -r /Infos/bd/config11 ] && source /Infos/bd/config11
В системах без этого файла (, где ваша учетная запись не может прочитать этот путь ), тест завершится неудачно, и вы не получите сообщение об ошибке; в системах с этим файлом (, где вы можете прочитать этот файл ), он будет источником.
Возможно, вам не нужно иметь команду в обоих файлах; см., например, Какова цель.bashrc и как он работает? и/или ваши локальные справочные страницы bash.
Вы можете использовать две петли сbash
:
cd /path/to/Analysis
shopt -s nullglob
for i in {1..3}; do
for f in */swu_run${i}_*.nii; do
mv "$f" "${f%/*}/run${i}/"
done
done
Включенная опция оболочки nullglob
гарантирует, что внутренний цикл не будет запущен, если */swu_run${i}_*.nii
не соответствует ни одному файлу (, уже перемещенному или отсутствующему ).
Расширение параметра ${f%/*}
удаляет кратчайший шаблон суффикса /*
, оставляя путь к родительскому каталогу.