Я пытаюсь удаленно выполнить некоторые команды для Linux-бокса с компьютера с Windows, используя plink.exe, и он успешно выполняет все команды, кроме sudo su -
На самом деле, он также выполняет sudo su - и я вижу вывод, что теперь я суперпользователь, но в этот момент он зависает, поэтому никакие другие команды не могут быть выполнены.
Это то, что я использую до сих пор:
./plink.exe -ssh -v -pw myPassHere myUser@myHost "hostname;ls -la;sudo su - ; touch test.me"
Я также попытался отправить эту команду sudo su в фоновый режим следующим образом:
./plink.exe -ssh -v -pw myPassHere myUser@myHost "hostname;ls -la; sudo su - & touch test.me"
и это выполнит вышеуказанные команды, включая sudo su, но добавит это:
logout root
stty: Not a typewriter
stty: Not a typewriter
stty: Not a typewriter
и закройте соединение, не выполняя последнюю команду touch
Также попытался добавить как &, так и ; как это:
./plink.exe -ssh -v -pw myPassHere myUser@myHost "hostname;ls -la;sudo su -&;touch test.me"
И это дает мне:
ksh: syntax error at line 1 : 'end of file' unexpected
Я почти уверен, что после ввода команды sudo su - приглашение ожидает результата, и поэтому оно зависает, но не знаю, как сделать паузу на некоторое время, чтобы разрешить выполнение команды sudo su - или как избежать оболочки ожидая выхода.