体験版に空白がある bash エラー

体験版に空白がある bash エラー

次のように、[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に設定されます。CWDCWD 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必要なく、削除できます。

おすすめ記事