设置Bash脚本的参数

时间:2016-11-01 20:03:37

标签: bash

大家好,我有一个bash脚本,我用它来将一个神器迁移到另一个神器。

_old_root_url=0
_new_root_url=0
_old_repos=0
_new_repos=0
_include_regex=0
_exclude_regex=0
_username=0
_password=0

while test $# != 0
do
    case "$1" in
    --old-root-url=*)
    old_root_url="${1#--old-root-url=}"
    ;;
    --new-root-url=*)
    new_root_url="${1#--new-root-url=}"
    ;;
    --old-repos=*)
    old_repos="${1#--old-repos=}"
    ;;
    --new-repos=*)
    new_repos="${1#--new-repos=}"
    ;;
    --include-regex=*)
    include_regex="${1#--include-regex=}"
    ;;
    --exclude-regex=*)
    exclude_regex="${1#--exclude-regex=}"
    ;;
    --usernbasame=*)
    username="${1#--username=}"
    ;;
    --password=*)
    password="${1#--password=}"
    ;;
    esac
    shift
done

echo Old Root URL is set to: $old_root_url

exit

我在命令行上设置参数时遇到问题,当我运行脚本时,我想设置8参数,以便为脚本的其余部分设置变量。我试过了:

bash script.txt $old_root_url=test
bash script.txt "$old_root_url=test"
bash script.txt $old_root_url="test"
bash script.txt set --$old_root_url=test

尽管遗憾,但这些都没有奏效。

1 个答案:

答案 0 :(得分:0)

传递这样的参数:

bash script.txt --old_root_url=test

对于所有参数,请遵循此模式,然后它将起作用。