У меня есть сценарий, который содержит следующее:Здесь строка SFTP Isnt правильно разбор символа новой строки
sftp [email protected]$3 <<< $"cd $4 \nput $5 \nbye"
, который я прохожу переменный тоже время выполнения однако \n
символов не отображаются как новые линии, но отображаются в виде открытого текста поэтому команда попытка к следующему:
sftp > cd $4\nput $5 \nbye
, который, очевидно, является каталог, который не существует, как я могу сделать символы новой строки сохраняются?
if i dont параметризует команду, она отлично работает, например.
sftp [email protected] <<< $'cd dir\n put file\n bye'
любые идеи?
Возможно, из-за пользователя '
vs "
в скрипте?
'$" ... "' используется для переводимых строк; нет эквивалента '$ '...'', который допускает расширение параметра. – chepner
Вы можете использовать 'printf '% s \ n' 'cd $ 4" "положить $ 5" "bye" | stfp $ 2 @ $ 3' или 'stfp $ 2 @ $ 3 <<(printf '% s \ n'" cd $ 4 "" положить $ 5 "" bye ")'. –