0

根据机器,我必须访问具有相同名称但来自不同目录的文件。所以目前我每台机器都有一个用于访问文件的别名。

但是是否可以检查正在打开当前会话的机器,然后只检查与该机器对应的源别名。bashrc 中类似下面的内容

If(machine1) 
   alias a1='command1'
else if (machine2)
   alias a1='command2'
else
   alias a1='command3'
4

3 回答 3

4

您可以使用主机名,例如

case $(hostname) in
    host1)  alias a1='echo host1';;
    host2)  alias a1='echo host2';;
    host3)  alias a1='echo host3';;
esac
于 2012-07-11T02:02:00.513 回答
1

MAC假设你在 Linux 下,你可以根据你的以太网卡的地址来区分你的机器。该MAC地址通常是唯一的,除非您以某种方式弄乱了它。

获取这样的MAC地址:

MACHINEID=$(cat /sys/class/net/eth0/address)

然后您可以执行以下操作:

if [ $MACHINEID = "mac_address_of_machine_1_here" ];
then
#whatever
fi
于 2012-07-11T01:10:44.470 回答
1

您可以让您的 .bashrc 获取另一个可以具有唯一名称的初始化文件

# .bashrc
. .bash_$(hostname)
# .bash_host1
alias a1=command1
# .bash_host2
alias a1=command2

ETC

于 2012-07-11T10:56:01.920 回答