Ubuntu 14.04.2があります。すべてのユーザーが自動的に特定のエイリアスのセットを持つようにしたい。個人の.bashrcにエイリアスを設定していますが、手動で他のユーザーにコピーする必要はありません。理想的には、新しく作成されたユーザーに対してもこれらを自動的に設定する必要があります。
/etc/profile.d/
でスクリプトを作成して、すべてのユーザーのエイリアスを作成できます。
00-aliases.sh
に/etc/profile.d
(またはその他のファンシーな名前)というファイルを作成します:
gksu gedit /etc/profile.d/00-aliases.sh
このファイルにエイリアスを入れます。例:
alias foo='bar --baz'
alias baz='foo --bar'
ファイルを保存する
注意:
/etc/profile
は、~/.profile
の前に実行されるグローバルファイルです。/etc/profile.d/
は、/etc/profile
によって呼び出されるスクリプトを含むフォルダーです/etc/profile
が呼び出されると(シェルを起動/ログインするとき)、.sh
で/etc/profile.d/
で終わるファイルが検索され、次のコマンドのいずれかで実行されます。
source /etc/profile.d/myfile.sh
. /etc/profile.d/myfile.sh
00-
を置いて、残りのスクリプトの前に実行するようにします。/etc/profile
に追加することもできますが、これは推奨されません。エイリアスは、シェル内でのみ機能します。実行可能ファイルと同じくらい広くアクセスできるものが必要な場合は、小さなショートカットスクリプトを/usr/bin
に追加できます。例:
#!/bin/sh
ls -l "$@"
"$@"
は、すべての引数を実行可能ファイルに渡します。スクリプトの名前は、実行可能ファイルの名前になります。
here で指摘したように、おそらく/etc/bash.bashrc
にグローバルエイリアスを追加することをお勧めします。
alias foo='bar --baz'
alias baz='foo --bar'
なぜなら、特定の(ログインしていない)シェルでは /etc/profile.d
のスクリプトは無視できます であるためです。 /etc/profile.d
が機能しなかった理由を理解するのに何時間もかかりました。
例参照 https://askubuntu.com/a/606882/ および 。bashrcおよび.bash_profileについて シェルの区別について。