我想创建一个别名来随机更改我的 mac 地址
alias chrandmac="sudo ifconfig en0 ether $(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//')"
但执行配置文件时命令替换部分已经解决。
alias chrandmac='sudo ifconfig en0 ether 83:3a:bf:fc:4e:29'
对于为什么会发生这种情况有什么想法吗?
答案1
您想使用函数而不是别名。它可以像别名一样放入您的启动文件中:
chrandmac() {
sudo ifconfig en0 ether $(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//')
}
为了让它与别名一起使用,您需要使用单引号来防止命令替换的扩展。
alias chrandmac='sudo ifconfig en0 ether $(openssl rand -hex 6 | sed '\''s/\(..\)/\1:/g; s/.$//'\'')'