Estou escrevendo um script esperado que pode ser usado em vários sistemas operacionais, mas o problema é
não posso usar #!/usr/bin/expect
em todos os lugares, então tentei fazer
#!`which expect`
no topo, mas falhou
[sesiv@itseelm-lx4151 ~]$ ./sendcommand
-bash: ./sendcommand: `which: bad interpreter: No such file or directory
alguma solução para isso.
Responder1
Um truque que funciona principalmente (para interpretadores perl, python, php e provavelmente outros):
#!/usr/bin/env expect
Eu acho env
que está sempre na moda /usr/bin/
. Muitos intérpretes podem funcionar dessa maneira agora. Outros hacks existiam, mas não eram compreensíveis ou não eram tão portáteis.
Responder2
Eu sugiro
#!/bin/sh
expect_path="$(which expect)"
"$expect_path" "$0" "$@"
Eu espero que isso funcione; Não estou familiarizado com as diferenças entre bash e sh.