Я пытаюсь выполнить некоторые команды удаленно на 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
и закройте соединение - все еще без выполнения последней сенсорной команды
Также попытался добавить и & и; как это:
./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-команды приглашение ожидает результата, и поэтому оно зависает, но не знает, как сделать паузу на некоторое время, чтобы позволить sudo-su-команде выполнить или как избегайте оболочки, ожидающей вывода.