여러 운영 체제에서 사용할 수 있는 예상 스크립트를 작성 중인데 문제는
난 evreywhere를 사용할 수 없어서 #!/usr/bin/expect
대신에 그렇게 하려고 했어요
#!`which expect`
상단에 있지만 실패했습니다.
[sesiv@itseelm-lx4151 ~]$ ./sendcommand
-bash: ./sendcommand: `which: bad interpreter: No such file or directory
이에 대한 어떤 해결책.
답변1
주로 작동하는 한 가지 트릭(perl, python, php 인터프리터 등):
#!/usr/bin/env expect
나는 env
항상 에 있다고 생각합니다 /usr/bin/
. 현재 많은 통역사가 그런 식으로 실행할 수 있습니다. 다른 핵도 존재했지만 이해할 수 없거나 이식성이 좋지 않았습니다.
답변2
나는 제안한다
#!/bin/sh
expect_path="$(which expect)"
"$expect_path" "$0" "$@"
이것이 효과가 있기를 바랍니다. bash와 sh의 차이점을 잘 모르겠습니다.