次のように、[variable_name="value"] 形式で bash 転送パラメータをトリガーする必要があります。
./test.sh ip='164.130.21.98' hostname='whatever' pwd='/test' ftpcmd='CWD debug' user='stefano'
test.shスクリプトでは、すべての変数に関連する値を割り当てたいと思います。
#!/bin/bash
eval `echo "$@"`
echo $ftpcmd
しかし、prova: command not found
エラーが発生します。
ftpcmd='CWD debug'
私のパラメータにどのような問題があるのか、どのように書くべきかを理解することはできません。
evalを宣言に置き換えようとすると、予想したものとは異なるよう$ftpcmd
に設定されます。CWD
CWD debug
ベストアンサー1
宿題を与えると今後スクリプト
ip='164.130.21.98' hostname='whatever' pwd='/test' ftpcmd='CWD debug' user='stefano' ./test.sh
これらの変数はスクリプト環境で使用できます。この-k
オプションは以下を処理します。みんな環境変更などの事前コマンドの割り当てだけでなく、割り当てもあります。
set -k
./test.sh ip='164.130.21.98' hostname='whatever' pwd='/test' ftpcmd='CWD debug' user='stefano'
set +k
どちらの場合もeval
必要なく、削除できます。