例如:
system(“tftp <<EOO\n\nquit\n\nEOO”);
“ <<EOO EOO” : 這個是here document ,就是一段特殊目的的代碼塊. 他使用 I/O 重定向的形式來將一個命令序列傳遞 到一個交互程序或者命令中, 比如 ftp, cat, 或者vim文本編輯器. “<<EOO”是開始,“E00”爲結束,它們必須成對出現, “EOO”可以改爲任何非shell命令的字符串
“quit” :這就是tftp中的命令,實際上"<<EOO" "EOO"之間可以執行任何tftp命令了,即可以進行簡單的交互, 若要進行更復雜的交互,可以使用expect交互腳本語言
“\n ” :表示回車,這是因爲在代碼中,所以“\n”表示回車, 若在bash中執行tftp <<EOO\n\nquit\n\nEOO是不成功的, 因爲在shell中無法敲出回車換行符,但可以用以下的方法進行執行:
1. echo -e "tftp\nquit\n" | /bin/bash 這裏使用了echo的轉義字符進行轉換回車換行
2. tftp < file.txt 將file.txt當做tftp的標準輸入, file.txt的內容是: quit