Perintah berikut mengirim satu perintah untuk sftp
menggunakan satu baris:
sftp -o PasswordAuthentication=no user@host" <<<"lcd /home"
Cara mengirim beberapa baris sftp
menggunakan satu baris. Apakah ada cara untuk memasukkan carriage return atau sesuatu untuk mencapai ini, misalnya:
sftp -o PasswordAuthentication=no user@host" <<<"lcd /home\n cd /myhome\n get file"
Idenya adalah untuk TIDAK menggunakan sftp -b
opsi di mana perintah daftar file eksternal dimuat.
<<<
pertama kali diperkenalkan oleh zsh (meskipun terinspirasi olehrc
) dan kemudian ditambahkan ke ksh93 dan kemudian bash.zsh
keterampilan saya .Gunakan
-b/--batchfile
opsi untuk memiliki penanganan kesalahan yang tepat:sumber
Ya, Anda bisa menggunakannya
echo -e
sumber
echo
sangat tidak standar -echo -e
tidak berfungsi sama di mana-mana, jadi Anda harus memeriksa dulu. Atau, gunakan sajaprintf
yang jauh lebih portabel dan harus bekerja sama di mana-mana.Tidak perlu menghindari
-b
opsi untuk menghindari penulisan file batch ke disk. Menggunakan substitusi proses, Anda dapat membuat batch on the fly.sumber
Gunakan perintah sftp asli
sumber
lcd
dancd
melakukan hal-hal yang berbeda. Anda baru saja menggabungkan jalur menjadi sesuatu yang tidak akan ada.Mybru, Anda dapat mem-pipe perintah Anda seperti:
sumber