ユーザーが2つの機能のうち実行したい機能を入力できる基本的なbashスクリプトをどのように生成しますか?

ユーザーが2つの機能のうち実行したい機能を入力できる基本的なbashスクリプトをどのように生成しますか?

現在、私は2つのbash機能を持っています。 1つはファイルのアップロード用、もう1つはファイルのダウンロード用です。ユーザーが2つのアクションのうちに実行するアクションを指定できるbashスクリプトを作成したいと思います。

私が経験している問題は、アップロード機能とダウンロード機能が何があっても機能することです。たとえば、

function upload() {
    var=$1
    #something goes here for upload
}

function download() {
    var=$1
    #something here for download
}

main() {
        case "$1" in
            -d) download "$2";;
            -u) upload "$2";;
            *) "Either -d or -x needs to be selected"
        esac
}

download必要になるまでmain()を実行して抑制することはできませんupload

ベストアンサー1

また、関数を呼び出してmainスクリプトのコマンドライン引数に渡す必要があります。

#!/bin/sh

upload() {
    echo "upload called with arg $1"
}
download() {
    echo "download called with arg $1"
}

main() {
    case "$1" in
        -d) download "$2";;
        -u) upload "$2";;
        *) echo "Either -d or -u needs to be selected"; exit 1;;
    esac
}

main "$@"

function fookshスタイル宣言はここでは必要ではありませんが、foo()標準であり、より広くサポートされているので使用されます。

おすすめ記事