نتوقع التعامل مع الحجة
سؤال
وأود أن خلق تتوقع السيناريو الذي يتصل الخادم عن طريق التلنت ويفعل بعض الترخيص. لدي مشكلة مع استخدام المعلمات النصي بالرغم من ذلك. على أساس رجل كنت أتوقع هذا العمل:
#!/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
.
لا تنتمي إلى StackOverflow