Colors ssh之前的导出术语';惯性导航与制导

Colors ssh之前的导出术语';惯性导航与制导,colors,ssh,environment-variables,zsh,xterm,Colors,Ssh,Environment Variables,Zsh,Xterm,我在笔记本电脑上使用TERM='xterm-256color',但必须在远程服务器上使用TERM='xterm',因为那里的xterm-256color不可用,并且出现了一些问题 到目前为止,我可以做导出TERM='xterm';ssh-x123.45.678.90,工作正常。但是将上一行放在(zsh)别名(alias sshx=“export TERM='xterm';ssh-X 123.45.678.90”)中似乎不起作用。例如,如果我在export和ssh之间插入echo$TERM,则在命

我在笔记本电脑上使用
TERM='xterm-256color'
,但必须在远程服务器上使用
TERM='xterm'
,因为那里的
xterm-256color
不可用,并且出现了一些问题

到目前为止,我可以做
导出TERM='xterm';ssh-x123.45.678.90
,工作正常。但是将上一行放在(
zsh
)别名(
alias sshx=“export TERM='xterm';ssh-X 123.45.678.90”
)中似乎不起作用。例如,如果我在
export
ssh
之间插入
echo$TERM
,则在命令行中执行所有操作都会回显
xterm
,但别名会给出
xterm-256color

当然,最理想的情况是,
术语
将在
ssh
之后设置回其初始值

有没有办法做到这一点


谢谢。

通常由

alias sshx='TERM=xterm ssh -X 123.45.67.89'

不出口任何东西。在其他情况下,您可能需要创建一个函数。

.678。
绝对不是有效的IP地址部分。它可能是一个旧的zsh错误:带有
别名abc='export abc=“$(date)”;zsh-c“echo\$ABC”
我没有观察到这种行为。Zsh版本是4.3.11。那么我如何知道何时必须导出?@antony很明显:只有在运行一系列命令时才必须导出。要仅在当前函数处于活动状态时导出,您可以使用
local-x
,从而可以限制变量更改的范围:尝试
export ABC=“ghi”;(){local-xabc=“def”;zsh-c'echo$ABC'};zsh-c'echo$ABC'
(这使用匿名函数,如果我没有弄错的话,至少需要zsh-4.3.11)。还有一个补丁允许您执行类似于
别名sshx='(){local-x TERM=xterm;ssh-x 123.45.67.89$@}的操作。
:它将被允许向匿名函数传递参数(尽管我建议在这种情况下创建正常函数)。