Я создаю удаленную переменную, значение которой я хочу присвоить локальной переменной в unix. Вот код #!/Bin/БашНазначение значения удаленной переменной локальной переменной в unix/linux
INPUT= "test"
ssh [email protected]
"if [ -s $INPUT ];
then
date=\`date\`
remote= $INPUT.date
$INPUT= \$remote
else
mkdir $INPUT
fi"
В основном я присвоить значение локальной переменной. После ssh на удаленный сервер, я проверяю, существует ли непустая директория по имени «тест». Если это так, то я добавляю отметку времени к локальной переменной $ INPUT. Код работает нормально до строки 8 «remote = $ INPUT.date». Но присваивание удаленной переменной \ $ remote локальной переменной $ INPUT не выполняется. Что я делаю не так. Спасибо за помощь.
Я не думаю, удаленная оболочка может изменить переменные локальной оболочки, нет. Вместо этого сценарий, который вы запускаете удаленно, может, например, напечатайте значение $ remote или ничего, и вы можете, например, захватить это в переменную локально с backticks, а затем использовать это для условного обновления INPUT? – Rup
Итак, как мне это сделать? Экспортировать удалённую переменную в файл локально? Я попробовал «cat \ $ remote> file.txt», но file.txt создается на удаленном сервере, так как весь код («if .... fi») работает на сервере. – user45270