سؤال

وأود أن خلق تتوقع السيناريو الذي يتصل الخادم عن طريق التلنت ويفعل بعض الترخيص. لدي مشكلة مع استخدام المعلمات النصي بالرغم من ذلك. على أساس رجل كنت أتوقع هذا العمل:

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

وأسف أعود can't read "argv1": no such variable. كيف يمكن جعل هذا العمل؟

هل كانت مفيدة؟

المحلول

و$argv وقائمة تى سى ال عقد معلمات سطر الأوامر، فهرسة تبدأ من 0. أنت تريد:

[lindex $argv 0]

نصائح أخرى

ويتم توفير وسائط سطر Commmand كقائمة في ARGV متغير، يمكنك استخدام LINDEX للحصول على عنصر من هذه القائمة، حتى إذا كانت الوسيطة الأولى هي المضيف telnet إلى، القيام به:

spawn telnet [lindex $argv 0] 5038

وانظر <قوية> متغيرات شل قدمت في و LINDEX في

وحصلت على خطأ مماثل، can't read "argv0": no such variable، عندما حاولت استخدام $ argv0 في بروك. وكان الحل للوصول إليه صراحة من مساحة الاسم العالمي باستخدام $::argv0.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top