Подтвердить что ты не робот

Как передать параметры в Linux Bash script?

У меня есть Linux bash script 'myshell'. Я хочу, чтобы он читал две даты в качестве параметров, например: myshell date1 date2. Я программист на Java, но не знаю, как написать script, чтобы это сделать.

Остальная часть script выглядит так:

sed "s/$date1/$date2/g" wlacd_stat.xml >tmp.xml
mv tmp.xml wlacd_stat.xml
4b9b3361

Ответ 1

вы используете $1, $2 в script например

date1="$1"
date2="$2"
sed "s/$date1/$date2/g" wlacd_stat.xml >temp.xml ;mv temp.xml wlacd_stat.xml #Semicolon can also replaced with a newline

Ответ 2

Чтобы перебрать параметры, вы можете использовать это сокращение:

#!/bin/bash
for a
do
    echo $a
done

Эта форма совпадает с for a in "[email protected]".

Ответ 3

Bash аргументы называются после их позиции.

Кроме того, если вам нужно обрабатывать один аргумент за другим, вы можете переместить их и всегда использовать $1:

while [ $# -gt 0 ]
do
    echo $1
    shift
done

Ответ 4

$0  $ 1  $ 2

И так далее будет содержать имя script, затем первый и второй аргументы строки.