使いやすいように複数のコマンドを変数に入れる方法

使いやすいように複数のコマンドを変数に入れる方法

スクリプトを書いていますが、特定のコード行が再利用され続けていることがわかりました。

だから使いやすいように変数に入れず、何か変わったら一箇所だけで変更したらどうかと思いました。

私がこれを行うとき:

scriptpath="echo -e "\n" && curl -s -u lalala:hihihi ftp://ftp.somewhere.com/folder"

次に、その変数を次のように使用します。

$SCRIPTPATH/some_script.sh | bash

次のエラーメッセージが表示されます。

bash:行 2: $'\n': コマンドが見つかりません。

ベストアンサー1

あなたは機能があなたが望むものと正確に一致する状況を説明しています。

do_download () {
    printf '\n'
    curl -s -u lalala:hihihi ftp://ftp.somewhere.com/folder
}

その後、コードで次のように使用できます。

do_download

関数が使用するURLなどのパラメータを受け入れる必要がある場合は、

do_download () {
    printf '\n'
    curl -s -u lalala:hihihi "$1"
}

それから電話してください

do_download "ftp://ftp.somewhere.com/folder"

コマンドを変数に保存する非常にまれです引用や単語分割のようにしたいことをしっかりとするのが難しいです。たとえば、変数に保存されたコマンドをどのように実行できますか?」。

おすすめ記事