我可能用错了方法。我更新 Linux 机器时使用了如下的 bash 别名:
alias upg-pi='\ssh -c [email protected] -C -i $ssh_identity -o ConnectTimeout=$ssh_timeout root@$ssh_ip_rpi4 -t /root/upgrade'
上面那个别名,我明确地写了,它实际上由ssh-pi
别名组成:
alias upg-pi='ssh-pi -t /root/upgrade'
我尝试过expand_aliases
,但都一样。
目标
能够同时运行多个 gnome-terminal 窗口,例如:
function upg_all()
{
gnome-terminal --window -- upg
gnome-terminal --window -- upg-pi
# ...
}
我现在得睡觉了,明天早上见。希望你能找到解决办法。
它是 Mint 22 上 Bash 独有的。我可以完全控制这个操作系统。谢谢。
我解决这个问题的方法是在我的目录中创建一个(或多个)小型 shell 脚本
$PATH
。我使用$HOME/bin
(传统的,来自早期的 BSD/UNIX 时代)但如果你刚开始使用,那么XDG 标准建议将其$HOME/.local/bin
作为存储可执行文件的位置在
.bash_profile
或 中.profile
,然后
现在您可以在那里创建脚本(
upg
,,等)upg-pi
,pg-pi
这些脚本可以像任何其他程序一样访问(即gnome-terminal --window -- pg-pi
)然后
别名扩展发生在参数扩展之前。这就是为什么你需要
eval
:shell 解析器需要从字面上理解别名。“嵌套”别名
man bash
: