Я хочу прочитать две строки в качестве параметров bash-скрипта, эти строки должны быть расширениями, затем я хочу заменить расширение файлов первым расширением на второе расширение.
Лучшее, что я мог подумать / найти до сих пор:
#!/bin/bash
first=$1
second=$2
for files in *.$1
do
mv "$files" "${files%.$1}.$2"
done
Теперь предположим, что $1 - это cpp , а $2 - это C
Мои "сомнения":
- будет
.$1будет равно.cpp? *.$1равно сказать:*.cpp?- Строка 6 равна
mv "$files" "${files%.cpp}.C"? - Будет ли предыдущий код обрабатывать имена файлов с пробелами (например,
my file.cpp) или точками (например,my.file.cpp)?
Я знаю, что мог бы ответить на первые 3 вопроса в одном вопросе, но мне нужно понять, что именно происходит, и как каждый оператор (./*/%) Будет работать с данной строкой в параметре.
