如何在别名中使用变量?例如,如果pbcopy允许我访问剪贴板(复制的ip地址)并将其分配给$ip
我可以复制一个IP地址,然后使用alias
,如下面的失败示例。
alias go='ip=pbpaste | ssh $ip -l pete'
答案 0 :(得分:4)
我通常使用pbpaste/pbcopy,但您可能希望找到具有历史记录的内容供您使用。
答案 1 :(得分:3)
无需创建变量或管道,只需使用子shell:
alias go='ssh $(pbpaste) -l pete'
答案 2 :(得分:1)
另一种选择是使用函数代替别名,因为函数可以带参数:
function go {
ssh "$1" -l pete
}
复制IP地址后,您可以输入“go”,使用Command-V粘贴IP地址,然后点击返回。
您还可以复制接受的答案,以避免手动粘贴地址:
function go {
ssh $(pbpaste) -l pete
}
所以这里真正的信息是开始考虑shell函数而不是别名,因为根据bash手册页
对于几乎所有目的,别名都被shell函数取代。