1

telnet経由でサーバーに接続し、いくつかの認証を行うexpectスクリプトを作成したいと思います。ただし、スクリプトパラメータの使用に問題があります。男に基づいて、私はこれがうまくいくと思っていました:

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

残念ながら私は戻ってきcan't read "argv1": no such variableます。これをどのように機能させることができますか?

4

3 に答える 3

5

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

spawn telnet [lindex $argv 0] 5038

シェルのシェル提供変数リストのlindexを参照してください。

于 2009-10-28T14:30:28.920 に答える
4

$argvは、コマンドラインパラメータを保持するTclリストであり、0から始まるインデックスが付けられています。

[lindex $argv 0]
于 2009-10-28T14:28:09.360 に答える
0

can't read "argv0": no such variableprocで$argv0を使用しようとすると、同様のエラーが発生しました。解決策は、を使用してグローバル名前空間から明示的にアクセスすることでした$::argv0

于 2016-03-18T17:05:12.403 に答える