Saya telah menulis skrip shell sederhana yang digunakan ncftpput
untuk mengunggah semua direktori secara rekursif ke direktori jarak jauh. Skrip shell saya, upload.sh
ditempatkan di direktori lokal ini dan saya ingin mengecualikannya dari unggahan. Apakah ada cara untuk melakukan ini?
ncftpput -R -v -u myUsername -p myPassword myAddress /remoteDir /localDir/*
Saya sudah mencoba melakukannya seperti ini:
for i in `ls /localDir | grep -v upload.sh`; do
ncftpput -R -v -u myUsername -p myPassword myAddress /remoteDir /localDir/$i
done
Tetapi direktori dengan spasi akan dianggap dua direktori. Misalnya "Direktori Saya" akan dipertimbangkan:
- / localDir / My
- / localDir / Direktori
Anda dapat menggunakan find untuk mengunggah semua elemen lain secara terpisah:
Lewati
-exec
dan semuanya setelah itu untuk hanya mencetak file dan folder yang cocok, untuk pengujian ..Anda juga bisa melihat mendefinisikan ulang
IFS
di bash, atau yang setara di shell Anda, tetapi itu masih akan gagal dengan nama file yang berisi misalnya baris baru.Tentu saja, solusi paling sederhana adalah dengan tidak mencampur skrip pengunggah dengan data yang akan diunggah ...
sumber