Как использовать параметры 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 

  • как проверить каталог пуст
  • Как печатать значения переменных с добавочными числами, используя цикл в сценарии оболочки?
  • Разбиение файла с использованием префикса
  • Как я могу выполнить и прервать скрипт в цикле
  • Переменная Bash $ {0 ## * /}
  • Печать Линия соответствия и n-я строка из согласованной строки
  • cd во все каталоги, выполнить команду над файлами в этом каталоге и вернуться в предыдущий текущий каталог
  • Удалите все строки, кроме D
  • 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 

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

    Linux и Unix - лучшая ОС в мире.