Plink зависает после команды sudo su - PullRequest
0 голосов
/ 03 мая 2018

Я пытаюсь выполнить некоторые команды удаленно на 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-команде выполнить или как избегайте оболочки, ожидающей вывода.

1 Ответ

0 голосов
/ 03 мая 2018

Вам не нужно sudo su - в неинтерактивном контексте (и именно эта неинтерактивность вызывает ошибку "stty: Not the пишущая машинка").

Просто используйте sudo touch test.me.

...