У меня есть проблема, которая решается с помощью этого ответа https://superuser.com/a/508761
Теперь мне нужно расширить его, чтобы заняться другими вещами, но сначала мне нужно лучше понять, как он работает, прежде чем изменять его. Вот сценарий в вопросе:
#!/bin/bash
(( $# != 2 )) && exit 1
for f in *; do
newf="${f//$1/$2}"
if [[ $f != $newf ]]; then
mv "$f" "$newf"
fi
done
Что значит (( $# != 2 )) && exit 1
делать? Мне не повезло найти объяснения в Интернете: я выяснил, что представляет собой каждый компонент, но не то, что делает вся строка в сценарии в целом. Ответ не объяснил эту строку. Этот постер был в сети более 2 лет назад, и я не хотел задавать 5-летний вопрос, так что я здесь.