根据机器,我必须访问具有相同名称但来自不同目录的文件。所以目前我每台机器都有一个用于访问文件的别名。
但是是否可以检查正在打开当前会话的机器,然后只检查与该机器对应的源别名。bashrc 中类似下面的内容
If(machine1)
alias a1='command1'
else if (machine2)
alias a1='command2'
else
alias a1='command3'
您可以使用主机名,例如
case $(hostname) in
host1) alias a1='echo host1';;
host2) alias a1='echo host2';;
host3) alias a1='echo host3';;
esac
MAC
假设你在 Linux 下,你可以根据你的以太网卡的地址来区分你的机器。该MAC
地址通常是唯一的,除非您以某种方式弄乱了它。
获取这样的MAC
地址:
MACHINEID=$(cat /sys/class/net/eth0/address)
然后您可以执行以下操作:
if [ $MACHINEID = "mac_address_of_machine_1_here" ];
then
#whatever
fi
您可以让您的 .bashrc 获取另一个可以具有唯一名称的初始化文件
# .bashrc
. .bash_$(hostname)
# .bash_host1
alias a1=command1
# .bash_host2
alias a1=command2
ETC