我在 .bashrc 文件上有别名,例如;
alias modemreboot="IP=$(/sbin/ip route | awk '/default/ { print $3 }');echo "reboot" | sshpass -p "12345" ssh admin@$IP"
用于通过命令行重新启动我的调制解调器。当我键入或复制并粘贴到终端时,它可以工作,但是作为别名,我收到此错误;
Pseudo-terminal will not be allocated because stdin is not a terminal.
ssh: Could not resolve hostname : Name or service not known
您的引用搞砸了 - 正如您通过使用以下命令运行作业所看到的那样
set -x
:试试吧
(尽管-除非您
/sbin/ip
与我的不同-我认为您可能想要\$4
而不是\$3
)。您可能需要考虑使用 shell 函数,例如
看