Я нашел сайт для этой проблемы, но не смог найти решение. Проблема связана с sftp. Я запускаю скрипт, который принимает 7 параметров, выполняет SSH и загружает файл на сервер sftp. Параметры, которые я предоставляю, являются сервером, пользователем, port, source_directory, target_directory, source_file и tager_file.если все идет хорошо, файл загружается без ошибок и код возврата равен 0. Проблема в том, что если какой-либо параметр неверен, например target_directory, даже тогда скрипт возвращает 0 в качестве возвращаемого значения. Вот как выглядит скрипт -
typeset targetUsername=$1
typeset targetHostname=$2
typeset sftpPort=$3
typeset sourceDir=$4
typeset targetDir=$5
typeset sourceFilename=$6
typeset targetFilename=$7
typeset cmdPut="put ${sourceDir}/${sourceFilename} ${targetTempDir}/${tmpFileNam
e}"
typeset cmdRen="rename ${targetTempDir}/${tmpFileName} ${targetDir}/${targetFile
name}"
sftp ${sftpOption} ${targetUsername}@${targetHostname} <<EOF
${cmdPut}
${cmdRen}
bye
EOF
sftpStatus=$?
sftpStatus должен возвращать статус. Но я всегда получаю статус 0.Есть идеи, как это восстановить?Большое спасибо заранее.