質問

telnetを介してサーバーに接続し、何らかの認証を行うexpectスクリプトを作成したいと思います。ただし、スクリプトパラメータの使用に問題があります。人に基づいて、私はこれが機能すると予想しました:

#!/usr/bin/expect -f
spawn telnet $argv1 5038
...

残念ながら、" argv1"を読むことができません:そのような変数はありません。これをどのように機能させることができますか?

役に立ちましたか?

解決

$ argv は、0から始まるインデックスが付けられたコマンドラインパラメーターを保持するTclリストです。必要なもの:

[lindex $argv 0]

他のヒント

コマンドライン引数は変数argvのリストとして提供されます。lindexを使用してこのリストから要素を取得できます。したがって、最初の引数がtelnetへのホストである場合は、次のようにします。

spawn telnet [lindex $argv 0] 5038

シェルシェルが提供する変数を参照してください。 >および lindex リスト

同様のエラーが発生しました。" argv0"を読み取れません:そのような変数はありません、procで$ argv0を使用しようとしたとき。解決策は、 $ :: argv0 を使用して、グローバル名前空間から明示的にアクセスすることでした。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top