OnWorksLinuxおよびWindowsオンラインワークステーション

及び

ワークステーションのオンライン無料ホスティング

<前へ | コンテンツ | 次へ>

ログインシェルが終了すると、 bash ファイルからコマンドを読み取って実行します 〜/ .bash_logout存在する場合、この手順は ログイン および bash マニュアルページ。

7.2.3. 一般的なセットアップ ファイルのセット


7.2.3.1. /etc/profileの例


これらの設定ファイルのいくつかを見てみましょう。まず / etc / profile が読み込まれ、その中で重要な変数として、

PATH、USER、HOSTNAME が設定されます:


デビー:~> /etc/profile を cat する

# /etc/プロファイル


# ログイン設定用のシステム全体の環境とスタートアッププログラム

# 関数とエイリアスは/etc/bashrcに記述します


# パス操作

if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/sbin" ; then PATH=/sbin:$PATH

fi


if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/sbin" ; then PATH=/usr/sbin:$PATH

fi


if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/local/sbin" then

PATH=/usr/local/sbin:$PATH

fi


if ! echo $PATH | /bin/grep -q "/usr/X11R6/bin" ; then PATH="$PATH:/usr/X11R6/bin"

fi

デビー:~> /etc/profile を cat する

# /etc/プロファイル


# ログイン設定用のシステム全体の環境とスタートアッププログラム

# 関数とエイリアスは/etc/bashrcに記述します


# パス操作

if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/sbin" ; then PATH=/sbin:$PATH

fi


if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/sbin" ; then PATH=/usr/sbin:$PATH

fi


if [ `id -u` = 0 ] && ! echo $PATH | /bin/grep -q "/usr/local/sbin" then

PATH=/usr/local/sbin:$PATH

fi


if ! echo $PATH | /bin/grep -q "/usr/X11R6/bin" ; then PATH="$PATH:/usr/X11R6/bin"

fi

これらの行は設定するパスをチェックします: ルート シェル(ユーザーID 0)を開くと、 / sbin, / usr / sbin および

/usr/local/sbinがパスに含まれているか確認します。含まれていない場合は追加されます。

/usr/X11R6/bin がパスにあります。


# デフォルトではコアファイルは作成されません ulimit -S -c 0 > /dev/null 2>&1

# デフォルトではコアファイルは作成されません ulimit -S -c 0 > /dev/null 2>&1

すべてのゴミは / dev / null ユーザーがこの設定を変更しない場合。


USER=`id -un` LOGNAME=$USER

MAIL="/var/spool/mail/$USER"


ホスト名=`/bin/hostname` HISTSIZE=1000

USER=`id -un` LOGNAME=$USER

MAIL="/var/spool/mail/$USER"


ホスト名=`/bin/hostname` HISTSIZE=1000

ここでは、一般的な変数に適切な値が割り当てられます。


if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then INPUTRC=/etc/inputrc

fi

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then INPUTRC=/etc/inputrc

fi

変数が 入力RC 設定されておらず、 .inputrc ユーザーのホームディレクトリにある場合、デフォルトの入力制御ファイルが読み込まれます。


画像


export パス USER ログ名 MAIL ホスト名 履歴サイズ 入力RC

すべての変数はエクスポートされるため、環境に関する情報を要求する他のプログラムで使用できるようになります。


画像

7.2.3.2. profile.dディレクトリ


/etc/profile.d/*.sh の i に対して、 if [ -r $i ] を実行する。

. $i

fi 完了 設定解除 i

/etc/profile.d/*.sh の i に対して、 if [ -r $i ] を実行する。

. $i

fi 完了 設定解除 i

すべての読み取り可能なシェルスクリプトは /etc/profile.d ディレクトリが読み込まれ、実行されます。これらは、 カラー-ls、エイリアシング vi 〜へ 活力ロケールの設定など。一時変数 i 後でシェルの動作を妨げないように設定解除されます。


画像

7.2.3.3. .bash_profile の例


その後 bash を探します .bash_profile ユーザーのホームディレクトリ内:


画像

デビー:~> cat .bash_profile

################################################## ###############

##

# .bash_profile ファイル #

##

# ログイン時に bash シェルから実行されます。#

##

################################################## ###############


ソース ~/.bashrc ソース ~/.bash_login

この非常に単純なファイルは、シェルに最初に読み取るように指示します 〜/ .bashrc その後 〜/ .bash_login. あなたは、 source シェル環境で作業しているときに定期的に使用する組み込みシェル コマンド。これは、現在の環境に構成の変更を適用するために使用されます。


画像

7.2.3.4. .bash_login の例


AIマーケティング業界は、 〜/ .bash_login ファイルは、設定によってデフォルトのファイル保護を定義します。 umask 値については、セクション3.4.2.2を参照してください。 〜/ .bashrc このファイルは、ユーザー固有のエイリアスや関数、そして個人用の環境変数を定義するために使用されます。まず、 の/ etc / bashrcにデフォルトのプロンプトを記述します(PS1)とデフォルトのumask値を設定します。その後、独自の設定を追加できます。 〜/ .bashrc 存在し、 の/ etc / bashrcに デフォルトで読み取られます。


画像

7.2.3.5. /etc/bashrcの例


あなたの の/ etc / bashrcに ファイルは次のようになります。


デビー:~> /etc/bashrc を cat する

# /etc/bashrc


# システム全体の関数とエイリアス

# 環境設定は /etc/profile に記述します


# デフォルトではこれを設定するようにします。

デビー:~> /etc/bashrc を cat する

# /etc/bashrc


# システム全体の関数とエイリアス

# 環境設定は /etc/profile に記述します


# デフォルトではこれを設定するようにします。


# 非対話型、非ログイン シェルの場合でも同様です。

[ `id -gn` = `id -un` -a `id -u` -gt 99 ]の場合; umask 002

ほかに

ウマスク 022

fi

# 非対話型、非ログイン シェルの場合でも同様です。

[ `id -gn` = `id -un` -a `id -u` -gt 99 ]の場合; umask 002

ほかに

ウマスク 022

fi

これらの行は、 umask 値。その後、シェルの種類に応じてプロンプトが設定されます。


# 対話型シェルですか? if [ "$PS1" ]; then

[ -x /usr/bin/tput ]の場合;

if [ "x`tput kbs`" != "x" ]; then

# 「ダム」端末ではこれを行うことはできません stty erases `tput kbs`

elif [ -x /usr/bin/wc ]; その後

if [ "`tput kbs|wc -c `" -gt 0 ]; then

# 「ダム」端末ではこれを行うことはできません stty erases `tput kbs`

フィフィ

fi

$TERM の場合

xterm*)

if [ -e /etc/sysconfig/bash-prompt-xterm ]; then PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm

ほかに

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:\

${PWD/$HOME/~}\007"'

fi

;;

*)

[ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=\

/etc/sysconfig/bash-prompt-default

;;

ESAC

[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "


if [ "x$SHLVL" != "x1" ]; then # /etc/profile.d/*.sh の i のログインシェルではない; do

[ -x $i ]の場合;

. $i

fi

行われ

fi

fi

# 対話型シェルですか? if [ "$PS1" ]; then

[ -x /usr/bin/tput ]の場合;

if [ "x`tput kbs`" != "x" ]; then

# 「ダム」端末ではこれを行うことはできません stty erases `tput kbs`

elif [ -x /usr/bin/wc ]; その後

if [ "`tput kbs|wc -c `" -gt 0 ]; then

# 「ダム」端末ではこれを行うことはできません stty erases `tput kbs`

フィフィ

fi

$TERM の場合

xterm*)

if [ -e /etc/sysconfig/bash-prompt-xterm ]; then PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm

ほかに

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:\

${PWD/$HOME/~}\007"'

fi

;;

*)

[ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=\

/etc/sysconfig/bash-prompt-default

;;

ESAC

[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "


if [ "x$SHLVL" != "x1" ]; then # /etc/profile.d/*.sh の i のログインシェルではない; do

[ -x $i ]の場合;

. $i

fi

行われ

fi

fi


画像


7.2.3.6. .bash_logout の例


ログアウトすると、 〜/ .bash_logout が実行され、たとえばターミナルをクリアして、リモート セッションからログアウトしたときやシステム コンソールを終了したときにクリーンなウィンドウが表示されるようになります。


デビー:~> cat .bash_logout

# ~/.bash_logout


クリア

デビー:~> cat .bash_logout

# ~/.bash_logout


クリア

次のセクションでは、これらのスクリプトがどのように動作するかを詳しく見ていきましょう。 info bash すぐ近くです。


画像


OnWorksのトップOSクラウドコンピューティング: