現在、私は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 foo
kshスタイル宣言はここでは必要ではありませんが、foo()
標準であり、より広くサポートされているので使用されます。