예상 스크립트: 최대 명령줄 인수 수

예상 스크립트: 최대 명령줄 인수 수

scp한 서버에서 다른 서버로 하나의 파일을 복사하는 명령을 생성하려고 합니다 . 따라서 expect다음과 같이 8개의 인수를 스크립트에 전달합니다.

expect my_x_script.exp file_src file_dest s_user s_pass s_host d_user d_pass d_host

이렇게 많은 인수를 스크립트에 전달하는 것이 유효합니까 expect?

답변1

네, 그렇게 많은 논쟁에는 문제가 없습니다. 예상 버전에 따라 다음 중 하나를 사용하여 값을 추출합니다.

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

관련 정보