Я работаю над своим проектом, и для этого требуется командный файл, который будет переименовывать все файлы в каталог. Первый аргумент - это имя базы , второй аргумент расширение файла. Если он работает как:как принимать входные данные как равенство в скрипте оболочки (bash)
./myprog4.sh BASE=Birthday EXT=jpg
затем полученные файлы должны иметь имена, как: Birthday001.jpg
, Birthday002.jpg
, Birthday003.jpg
и т.д.
Но я не мог взять входы как равенство, как BASE=$1
. Обычно, когда я беру входы во время выполнения файла сценария я пишу что-то вроде:
base=$1
extension=$2
Что я должен делать?
Почему бы не просто назвать функцию «./myprog4.sh Birthday jpg»? –
thats то, что мне интересно на самом деле тоже. но его данный проект как домашнее задание, поэтому я должен сделать это таким образом: S вы не знаете? – Mertcan
Вы должны использовать этот конкретный формат? Обычно вы можете использовать [getopts] (https: //rsalveti.wordpress.com/2007/04/03/bash-parsing-arguments-with-getopts /), который принимает один параметр буквы. Поэтому вы можете сделать 'myprog.sh -b Birthday -e jpg'. Может ли вход быть «myprog.sh EXT = jpg BASE = Birthday»? Это сделало бы вещи сложнее. –