close

最近需要寫shellScript自動執行一連串的動作,但是遇到困難,比如說要登入SFTP,登入後執行的動作如果單純寫在下一行,他會等到登出SFTP後才會執行,並不是登入SFTP後馬上執行。

找到"Here document"的寫法

wiki網址: http://zh.wikipedia.org/wiki/Here%E6%96%87%E6%A1%A3

ex:

要登入SFTP並且做上傳檔名為$filename(變數)的動作

sftp user@123.123.123.123 << EOF
cd user
put $filename
EOF

在登入SFTP指令後面加上"<< 結束名"這邊是取EOF

下面接登入後要跑的指令們

最後一行加上當初取的結束名 (EOF)

即可

如果是夾帶雙引號則裡面的變數($filename)會變成純文字

sftp user@123.123.123.123 << "EOF"
cd user
put $filename
EOF

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 dizzy03 的頭像
    dizzy03

    碎碎念

    dizzy03 發表在 痞客邦 留言(0) 人氣()