Ситуация следующая:
Нужно из скрипта запустить smbclient и при этом передать ему набор команд на выполнение. При этом желательно передавать команды из переменной, а не из файла.Если сделать так, для примера:
smbclient //winbox/somedir -N < $( echo $'dir\nexit' )
то, естественно, shell не поймёт, файл это или переменная и заругается.
А вот как сделать по другому - не могу придумать...
Может подскажет кто?Заранее благодарен.
>Ситуация следующая:Да, забыл сказать: -скрипт на bash.
:
>Нужно из скрипта запустить smbclient и при этом передать ему набор команд
>на выполнение. При этом желательно передавать команды из переменной, а не
>из файла.
>
>Если сделать так, для примера:
>smbclient //winbox/somedir -N < $( echo $'dir\nexit' )
>то, естественно, shell не поймёт, файл это или переменная и заругается.
>А вот как сделать по другому - не могу придумать...
>Может подскажет кто?
>
Я обманул так -
echo "cmd1\ncmd2\ncmd3\nq" | smbclientКонечно обманывал я другую интерактивную программу -но прошло
Можно записать выход echo в переменную.И обязательно ставить \n
то есть иммитацию ентера между командами.