Meu script esperado em /etc/profile.d falha como root, mas é bem-sucedido como usuário. (em Manjaro)

0

Aqui está o script no meu /etc/profile.d

#!/usr/bin/expect

 # makes script silent
log_user 0
spawn ssh [email protected]
 # waits for windows prompt
expect ">"
send "d:\path\to\script\mount.bat\r"

Aqui está a mensagem de erro que recebo quando aciono o script executando su:

(Efetuar login em um usuário faz com que todos os scripts em /etc/profile.d sejam executados. Para obter mais informações, consulte O que fazem os scripts em /etc/profile.d? )

$ su -
Password: 
-bash: log_user: command not found
-bash: spawn: command not found
couldn't read file ">": no such file or directory
-bash: send: command not found

No entanto,

su user

é bem-sucedido.

Parece que, por algum motivo, meu usuário root não sabe sobre a linguagem de script expect. Por isso, interpreta o script como bash e falha.

No entanto, posso executar com êxito o comando "esperar" como raiz ou usuário.

Alterando a primeira linha do script para

#!/bin/expect

Não alterou o comportamento.

Eu postei essa pergunta no fórum do Manjaro, mas eles não conseguiram resolvê-la. link

Aqui está a saída do meu inxi, que fornece informações do sistema: link

    
por Cyberthal 13.06.2017 / 22:43

0 respostas