[英]using multiple command interpreters in a linux shell script
我想使用一個shell腳本來執行一堆命令。 其中一些命令包括:scp,cd,tar,date,expect,spawn。
當我聲明#!/ bin / sh或#!/ bin / bash時,所有的期望命令都不起作用-這是可以理解的。 當我聲明#!/ usr / bin / expect -f時,cd,tar,date不起作用-我想這也是可以預期的(無雙關語)。
是否可以使用單個解釋器使用所有這些命令,或者我可以在此過程中聲明另一個命令? 我陷入了子彈,但沒有成功。
您可以通過shell here-doc提供命令以expect
:
#!/bin/sh
# shell code....
expect <<EOS
# expect code...
EOS
# back to shell code...
實際上,如果您在預期下運行,則可以使用所有Tcl命令,因此:
clock format [clock seconds]
exec tar cf stuff.tar file1 file2 file3
數據和控件構造與sh或bash不同,但是一旦習慣了它們,它們的功能就會更加強大。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.