Arguments
期望腳本:命令行參數的最大數量
我正在嘗試生成
scp
將一個文件從一台伺服器複製到另一台伺服器的命令。因此,我將 8 個參數傳遞給expect
腳本,如下所示expect my_x_script.exp file_src file_dest s_user s_pass s_host d_user d_pass d_host
將這麼多參數傳遞給
expect
腳本是否有效?
是的,這麼多論點沒有問題。根據您的預期版本,您可以使用以下之一提取值:
lassign $::argv \ src_file src_user src_pass src_host \ dest_file dest_user dest_pass dest_host # or foreach {src_file src_user src_pass src_host dest_file dest_user dest_pass dest_host} $::argv {break}
在某些時候,使用者界面變得難以管理。您可能想考慮使用命令行選項來幫助保持直截了當。從.
cmdline
_tcllib
然後你可以這樣做:expect my_x_script.exp \ -src_file file_src \ -src_user s_user \ -src_pass s_pass \ -src_host s_host \ -dest_file file_dest \ -dest_user d_user \ -dest_pass d_pass \ -dest_host d_host