使用 sshc 调用 ssh 别名远程主机上出现奇怪的字符

使用 sshc 调用 ssh 别名远程主机上出现奇怪的字符

通过 ssh 别名调用远程主机时,出现奇怪的字符

^[[6;3~fhem@UB9:~$ ;3~
-bash: syntax error near unexpected token `;'

在 .bashrc 中

### add to .bash_aliases, for differentiating between multiple remote hosts
sshhelper() {
    HOST=`echo $1 | cut -d'@' -f2`

    case $HOST in
        fhem )  PROFILE="FHEM" ;;
    esac

    gnome-terminal --window-with-profile=$PROFILE -x  bash -c "ssh $1"
}

#https://superuser.com/questions/347512/can-i-have-my-terminal-background-change-based-on-hostname/1368479#1368479
alias sshc=sshhelper

尝试了有和没有的这条线;

        gnome-terminal --window-with-profile=$PROFILE -x  bash -c "ssh $1"

和提示?

谢谢


查看 sshc fhem 命令的结果

和代码

按要求删除 gnome-terminal --window-with-profile=$PROFILE -x bash -c "ssh $1"

按要求更新,因为图片而解除禁令?

答案1

第一个错误:

  • 您需要添加$符号来检索命令的输出

第二个错误:

  • 在所有语句末尾添加分号。

我认为此功能可以按您想要的方式工作。

function sshhelper() {
    HOST="$(echo $@ | cut -d'@' -f2)";

    case $HOST in
        fhem ) PROFILE="FHEM" ;;
    esac

    gnome-terminal --window-with-profile=$PROFILE -x  bash -c "ssh $1";
}

最后添加你的别名:

alias sshc="sshhelper"

并且不要忘记关闭并重新打开你的终端。


已尝试并可用。

相关内容