Как использовать параметры pass-in для сценария оболочки?

Я мало знаю о сценарии оболочки, но хочу попытаться реализовать некоторые сложные скрипты.

Скажем, у меня есть doitall.sh с контентом вроде:

zip -j version_a_en.zip en_filea1.txt en_fileb2.json 

И doitall2.sh с контентом вроде:

 zip -j version_b_en.zip en_fileb1.txt en_fileb2.json 

Как использовать параметры «a» и «en» в качестве параметров, чтобы я мог использовать только один скрипт для обработки всех подобных требований. подобно

 ./doitall.sh a en 

или

 ./doitall.sh b fr 

One Solution collect form web for “Как использовать параметры pass-in для сценария оболочки?”

Параметры командной строки a и en можно получить в сценариях оболочки с использованием $1 и $2 :

 #! /bin/bash zip -j version_"$1"_"$2".zip "$2"_filea1.txt "$2"_fileb2.json 

следует соблюдать осторожность, когда у вас есть номера, следующие за ними в тексте, поэтому я всегда склоняю их в двойные кавычки, но в этом случае вы можете их оставить.

  • Count nul разделили элементы в файле
  • Проверьте веб-каталог, если существует файл, если не выходить
  • Shell Scripting: Сравнивая что-то с ничем?
  • конкатенация строк на основе первого символа следующей строки
  • Исправить массив неполных ссылок
  • Сценарий Bash для обработки файла данных эксперимента
  • как копировать файлы, такие как Microsoft Robocopy, в debian?
  • команда не найдена и синтаксическая ошибка возле неожиданного токена
  • сохранение одного и того же имени файла
  • Bash (Ubuntu) - Строки в циклах?
  • сценарий оболочки - команда echo не печатает в правильной последовательности
  • Linux и Unix - лучшая ОС в мире.