变量根据参数分配文件路径?

Variable Assigning the file path based on arguments?

目前我有一个 Shell 脚本,它运行整个文件夹设置,然后将该文件推送到服务器

目前我有两个参数决定要做什么,但我想让它更流畅,只调用 1 个路径并让参数分配结束路径,或者将这两个路径存储在变量中,然后取决于调用的是 rc 还是 trunk 是否使用该路径?

scp $Version.zip root@i-sever.com://data/folder/rcfolder/Patch_$Version.zip;

她是我目前拥有的东西

 if [ "" = "rc" ]
    then
        scp $Version.zip root@i-sever.com://data/folder/rcfolder/Patch_$Version.zip;
    elif [ "" = "trunk" ]
    then
        scp $Version.zip root@i-sever.com:/data/folder/trunkfolder/Update_$Version.zip;
    fi

任何帮助都会很棒

您可以使用这样的函数:

upload() {
    [[ "" == "rc" ]] && arg="Patch" || arg="Update"
    scp "$Version.zip" "root@i-sever.com://data/folder//${arg}_${Version}.zip"
}

然后将其用作:

upload rc
upload trunk

您可以使用关联数组:

declare -A filename=([rc]=Patch [trunk]=Update)
if [[ ${filename[]} ]] ; then
    scp $Version.zip root@i-sever.com:/data/folder//${filename[]}_$Version.zip
fi