如何在Fish Shell中转换export XMODIFIERS=@im=ibus的语法?
解决Fish Shell中设置
XMODIFIERS=@im=ibus的问题 你之前的写法出错是因为误解了环境变量的赋值逻辑——Fish的变量名不允许包含@符号,而且根本不需要把@im拆成单独变量来处理。
正确的写法
直接把完整的字符串值赋值给XMODIFIERS环境变量即可:
set -x XMODIFIERS "@im=ibus"
为什么之前的写法失败?
你尝试的代码:
set -x @im ibus set -x XMODIFIERS @im
Fish报错Variable name '@im' is not valid,是因为Fish的标识符(变量名)只能包含字母、数字和下划线,且不能以数字开头,@不属于合法字符范围。
更关键的是,Bash里的export XMODIFIERS=@im=ibus本质是直接将XMODIFIERS的值设为完整字符串@im=ibus,并不是把@im作为变量引用,所以在Fish里直接把这个完整字符串作为值赋值就可以,完全不需要拆分。
验证是否生效
执行完正确命令后,可以用以下方式检查环境变量是否设置成功:
echo $XMODIFIERS # 或者 env | grep XMODIFIERS
如果输出@im=ibus就说明设置成功了。
内容的提问来源于stack exchange,提问作者Dhaval Shah
相关产品推荐
相关产品推荐

