![使用 sshc 调用 ssh 别名远程主机上出现奇怪的字符](https://linux22.com/image/1160877/%E4%BD%BF%E7%94%A8%20sshc%20%E8%B0%83%E7%94%A8%20ssh%20%E5%88%AB%E5%90%8D%E8%BF%9C%E7%A8%8B%E4%B8%BB%E6%9C%BA%E4%B8%8A%E5%87%BA%E7%8E%B0%E5%A5%87%E6%80%AA%E7%9A%84%E5%AD%97%E7%AC%A6.png)
通过 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"
并且不要忘记关闭并重新打开你的终端。
已尝试并可用。