0

マシンによっては、同じ名前のファイルに別のディレクトリからアクセスする必要があります。したがって、現在、アクセスされているファイルのマシンごとに 1 つのエイリアスがあります。

しかし、現在のセッションが開かれているマシンを確認してから、そのマシンに対応するソースエイリアスだけを確認することは可能ですか? .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

MACLinux を使用していると仮定すると、Ethernet カードのアドレスに基づいてマシンを区別できます。アドレスは、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

一意の名前を持つことができる別の init ファイルを .bashrc ソースにすることができます

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

于 2012-07-11T10:56:01.920 に答える