作業中、エイリアスコマンドをbashrcに常に追加する必要があります。これらのコマンドのほとんどは、他のユーザーが実行する必要があります。外部ソースからbashrcにエイリアスコマンドを追加する方法はありますか?
作業中、エイリアスコマンドをbashrcに常に追加する必要があります。これらのコマンドのほとんどは、他のユーザーが実行する必要があります。外部ソースからbashrcにエイリアスコマンドを追加する方法はありますか?
回答:
ユーザーのホームディレクトリにある多くの設定ファイルは、単にそれらを上書き/追加します/etc
-たとえば、ユーザーのホームのGIMPの設定は~/.gimp-2.*
、システム全体の設定に追加され/etc/gimp/2.0
ます。
ですから~/.bashrc
、システム全体の設定ファイル/etc/bash.bashrc
(関数/エイリアス用)または/etc/profile
(環境用)を編集できます-完全なリストは以下から入手できますman bash
:
FILES
/bin/bash
The bash executable
/etc/profile
The systemwide initialization file, executed for login shells
/etc/bash.bash_logout
The systemwide login shell cleanup file, executed when a login shell exits
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
~/.bash_logout
The individual login shell cleanup file, executed when a login shell exits
~/.inputrc
Individual readline initialization file
この警告は、ファイル内のいくつかのLinuxシステムに対して表示されます。
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.
そのため、これらのファイルを編集したり、最初にバックアップしたり(cp /etc/bash.bashrc /etc/bash.bashrc-backup
たとえば)、シェルスクリプトを作成したり/etc/profile.d
できます。たとえば、次のコマンドで(sudo / as rootで)作成できます。
touch /etc/profile.d/custom.sh
chmod +x /etc/profile.d/custom.sh
それでそれを開きます nano /etc/profile.d/custom.sh
#!/bin/sh
alias ls='ls -lah'
そして、の出力に表示されている場合、それは見て動作するかどうかをチェックalias
-あなたは(あなたが実行している、したくない場合は、任意の変更を確認するためにログアウト/ログインまたは再起動する必要があるかもしれないことに注意source /etc/profile
何らかの変更がうまくいくかもしれない後)
[編集:このデッドリンクを削除] www.thelinuxdaily.com/2010/08/setup-a-universal-user-profile-with-etcprofile-dcustom-sh/]
~/.bash_logout
し/etc/bash.bash_logout
ません。:(
/etc/profile.d/
うではないサブプロセス権によってピックアップされますか?エイリアスはBashがログインシェルである場合にのみ使用できますか?
ここにはすでに受け入れられた答えがありますが、/ etc / profile.dなどのファイルをいじるのではなく、何らかの環境モジュールを使用してユーザー環境のシステム全体の構成を処理することを検討することをお勧めします。多数のシェルにわたってこのコントロールを1か所で管理します。Lmod(非常に活発な開発中)、C / TCLモジュール(従来のソリューション)、またはCmod(軽量)。
私はLinuxオペレーティングシステムを初めて使用しますが、システムファイル/etc/.bashrcファイルではなく、すべてのユーザーの.bashrcファイルを変更するbashスクリプトのスケッチを作成しました。
#!/bin/bash
X=$( cat etc/passwd | cut -f1 -d: ) #All-users
For X in /home/*/.bashrc ; do
echo "alias ls='ls -al'" >> $X
2>/dev/null
done
source $X
exit 0
わかりましたので、私はそのスクリプトが機能することを知っていますが、障害がない場合はそうではありません:)また、すべてのユーザーが関与しないように変更することもできます。おそらく、.bashrcファイルを必要とするすべてのユーザーのためにファイルを作成しますカスタマイズされました。
.bashrc
ファイルを持っている必要があり、行が既にファイルにあるかどうかに関係なく常に追加されます。
/etc/skel/.bashrc
して、~/.bashrc
新しく作成されたユーザーのコンテンツがどのように見えるかを変更できます。