2013-03-10 1 views
3

Я знаю, что могу работать Баш скрипты, помещенные внутри gist.github.com, используя следующие:работает ожидать скрипты, которые находятся в gist.github.com

bash -c "$(curl -fsSL https://raw.github.com/gist/5126919)" <arg0> <arg1> 

Как сделать то же самое для сценариев ожидать?

У меня есть образец здесь:

https://gist.github.com/simkimsia/5126919

#!/usr/bin/expect -f 

set CHANGESHELL_FOR_USER [lindex $argv 0]; 
set PASSWORD_OF_USER [lindex $argv 1]; 

######################################## 
## switch to another user 
## read this http://stackoverflow.com/a/1988255/80353 
######################################## 
sudo -u $CHANGESHELL_FOR_USER -H sh -c "chsh -s /bin/bash" 

expect "*?assword:*" {send -- "$PASSWORD_OF_USER\r";} 
expect eof 

Моя цель заключается в CHSH для конкретного пользователя.

ответ

0

Bash и поддержка КШ процесс замещения, так что вы можете попробовать, как это:

expect <(curl ...) arg1 arg2 ...

Единственная проблема, которую я могу думать о том, что значение $argv0 не то, что мы обычно ожидаем. Вы можете рассмотреть его жесткое кодирование в скрипте.