Нет, команда put
в sftp
не может предоставить вам интерактивную подсказку для подтверждения перезаписи существующего файла. Предполагается, что вы знаете, что делаете.
Если вы хотите убедиться, что вы загружаете файлы без перезаписи существующих файлов, используйте команду sftp
mkdir
, чтобы создать каталог на удаленном хосте и cd
в него, прежде чем загружать свои файлы в этот новый и пустой каталог.
Например,
uploaddir=$( date +upload_%F ) # i.e. something like "upload_2020-05-18"
sftp remote <<END_SFTP
cd some/remote/path
mkdir $uploaddir
cd $uploaddir
put myfile
END_SFTP
Команда mkdir
завершится ошибкой , если уже существует каталог с тем же именем, что и тот, который вы пытаетесь создать. Когда sftp
запускает не -интерактивный пакетный сценарий, как указано выше, сценарий завершается в этот момент.