Ten post dotyczy usuwania wielu plików ze zdalnego serwera, gdy konfigurowane jest połączenie bez hasła sftp. Mam kod jak poniżej. Usuwany jest tylko pierwszy plik w zmiennej $file_list
, gdy zmienna jest ustawiona jako,
$file_list="file1 file2"
sftp $USER@$HOST
rm $file_list
quit
SFTP-Session
Próbowałem nawet wykonywać polecenia w trybie monitu.
sftp $USER@$HOST
rm file1 file2
Nadal jednak widzę, że usuwany jest tylko plik 1.
Nie jestem pewien, czy brakuje mi podstawowego polecenia. Próbowałem mdelete
/ mdel
/ mrm
, które zostały odrzucone jako nieprawidłowe polecenie w oknie zachęty sftp.
Nie możesz podać listy do
rm
polecenia wsftp
, pobiera tylko jedną ścieżkę zapisaną na stronie podręcznika:źródło
Zwykle tego używam
Konfiguracja - na skanerze serwera rmeote teraz usuwamylftp
.Aby uczynić to jednym poleceniem:
źródło
Jeśli możesz sftp, nie możesz uruchomić ssh? Jeśli tak, to polecenie takie jak:
powinien działać dobrze. Jeśli użyjesz publicznego / prywatnego klucza SSH, hasło nie będzie wyświetlane.
źródło
Jeśli są to nazwy plików. Możesz je usunąć za pomocą wzorca globu za pomocą
źródło