Оболочка script аргументов

Я только начал писать сценарии оболочки в Unix, поэтому, я новичок новичков

Я хочу прочитать приведенные аргументы, когда пользователь запускает script например:

sh script -a abc

Я хочу прочитать для аргумента -a пользователь дал abc.

Мой код:

if ( $1 = "-a" )
then var=$2
fi
echo $var

Я получаю сообщение об ошибке.

Ответ 1

Bash использует внешнюю программу под названием test для выполнения логических тестов, но эта программа используется в основном через ее псевдоним [.

if ( $1 = "-a" )

должен стать

if [ $1 = "-a" ]

если вы используете [ или

if test $1 = "-a" 

Ответ 2

#!/bin/sh

if [ $1 = "-a" ]; then
    var=$2
fi
echo $var

Вы должны быть осторожны с пространством между if и [