Lang/shell/bash/設定
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#topicpath
* 目次 [#tb85ae49]
#contents();
#ls2(Lang/shell/bash/設定/);
/////////////////////////////////////////////////////////...
* コマンド履歴 [#oc4641a4]
//=======================================================...
** 履歴保存先ファイルの指定 [#h917a37e]
- コマンド履歴は、通常は ${HOME}/.bash_profile に保存され...
export HISTFILE=<新しいコマンド履歴ファイル名>
とする。&br;
例えば、[[screen>App/screen]]でセッション毎にコマンド履歴...
if [ "${STY}" != "" ]; then
export HISTFILE=${HISTFILE_DIR}/${TERM}.${STY##*.};
fi
//=======================================================...
** 履歴にタイムスタンプを付加する [#d3a5fdd5]
- 環境変数 HISTTIMEFORMAT にタイムスタンプフォーマットを...
export HISTTIMEFORMAT="%F %T "
//=======================================================...
** 履歴を1コマンド毎に保存する [#nc27737e]
- 環境変数 PROMPT_COMMAND に指定されたコマンドがあると、b...
export PROMPT_COMMAND="history -a; history -r"
shopt -o histappend # histappend は上記により不要になる...
- "history -a" :「新しい」履歴行 (bash の現在のセッショ...
- "history -c" :全てのエントリを削除し、履歴リストをクリ...
- "history -r" :履歴ファイルの内容を読み込み、これらを現...
- histappend :設定されている場合、シェルの終了時に変数...
/////////////////////////////////////////////////////////...
* PS1 (プロンプト文字列) [#cde76c5c]
//=======================================================...
** PS1 で使用出来る組み込み特殊文字 [#a2fc3701]
|~特殊文字 |~表示内容 |
|\a |ASCII のベル文字 (07) |
|\d |"曜日 月 日" という形式の日付 (例: "Tue May ...
|\D{format} |format が strftime(3) に渡され、 その結果が...
|\e |ASCII のエスケープ文字 (033) |
|\h |ホスト名のうち最初の `.' までの部分 |
|\H |ホスト名 |
|\j |シェルによって現在管理されているジョブの数 |
|\l |シェルの端末デバイスのベース名 (basename) |
|\n |改行 (newline) |
|\r |復帰 (carriage return) |
|\s |シェルの名前。つまり $0 のベース名 (最後の...
|\t |24 時間制の HH:MM:SS 形式の現在の時刻 |
|\T |12 時間制の HH:MM:SS 形式の現在の時刻 |
|\@ |12 時間制の am/pm 形式の現在の時刻 |
|\A |12 時間制の HH:MM 形式の現在の時刻 |
|\u |現在のユーザのユーザ名 |
|\v |bash のバージョン (例: 2.00) |
|\V |bash のリリース。バージョンにパッチレベルを...
|\w |現在の作業ディレクトリ。 $HOME の部分はチル...
|\W |現在の作業ディレクトリのベース名 $HOME の部...
|\! |このコマンドの履歴番号 |
|\# |このコマンドのコマンド番号 |
|\$ |実効 UID が 0 の場合に #、 それ以外の場合は ...
|\nnn |8進数 nnn に対応する文字 |
|\\ |バックスラッシュ |
|\[ |非表示文字のシーケンスの開始。 これを使うと...
|\] |非表示文字のシーケンスを終了します。 |
- 上記は man (1) bash から抜粋。
//=======================================================...
** git 関連 [#t471a078]
- bash が下記ファイルを参照するよう設定されていれば、 git...
git-prompt
-- debian の場合、ディストリビューションで用意されたもの...
/etc/bash_completion.d/git-prompt
//-------------------------------------------------------...
*** 設定方法 [#hb07fd6f]
+ PS1 に ''$(__git_ps1)'' を追加する
-- 例えば
[\u@\h:\l \W]$
~
であれば、下記のように:
PS1="[\u@\h:\l \W $(__git_ps1)]$ "
-- git 情報の部分を赤文字にする場合:
PS1="[\u@\h:\l \W\033[31m\]$(__git_ps1)\[\033[00m\]]$ "
+ $(__git_ps1) による表示内容を調整する
-- git-promput から読み込んでいる下記ファイルにて、表示に...
/usr/lib/git-core/git-sh-prompt
-- オプション一覧
|~parameter |~setting val. |~indicate de...
|GIT_PS1_SHOWDIRTYSTATE |yes |"*":unstaged...
|GIT_PS1_SHOWSTASHSTATE |yes |"$":somethin...
|GIT_PS1_SHOWUNTRACKEDFILES |yes |"%":There ar...
|GIT_PS1_COMPRESSSPARSESTATE |yes | ...
|GIT_PS1_SHOWUPSTREAM |yes |"<":behind, ...
|GIT_PS1_STATESEPARATOR |yes | | |
|GIT_PS1_SHOWCOLORHINTS |yes | | |
-- 上記設定値は全て、空文字かどうかで判定されているので、...
--- "no" を設定しても "yes" としたときと同じ動作になるの...
-- これらのオプションは、少なくとも PS1 の定義より前に設...
-- 設定例
$ cat ${HOME}/.bashrc
<snip>
GIT_PS1_SHOWDIRTYSTATE=yes
GIT_PS1_SHOWUNTRACKEDFILES=yes
GIT_PS1_SHOWUPSTREAM=yes
PS1="[\u@\h:\l \W $(__git_ps1)]$ "
<snip>
終了行:
#topicpath
* 目次 [#tb85ae49]
#contents();
#ls2(Lang/shell/bash/設定/);
/////////////////////////////////////////////////////////...
* コマンド履歴 [#oc4641a4]
//=======================================================...
** 履歴保存先ファイルの指定 [#h917a37e]
- コマンド履歴は、通常は ${HOME}/.bash_profile に保存され...
export HISTFILE=<新しいコマンド履歴ファイル名>
とする。&br;
例えば、[[screen>App/screen]]でセッション毎にコマンド履歴...
if [ "${STY}" != "" ]; then
export HISTFILE=${HISTFILE_DIR}/${TERM}.${STY##*.};
fi
//=======================================================...
** 履歴にタイムスタンプを付加する [#d3a5fdd5]
- 環境変数 HISTTIMEFORMAT にタイムスタンプフォーマットを...
export HISTTIMEFORMAT="%F %T "
//=======================================================...
** 履歴を1コマンド毎に保存する [#nc27737e]
- 環境変数 PROMPT_COMMAND に指定されたコマンドがあると、b...
export PROMPT_COMMAND="history -a; history -r"
shopt -o histappend # histappend は上記により不要になる...
- "history -a" :「新しい」履歴行 (bash の現在のセッショ...
- "history -c" :全てのエントリを削除し、履歴リストをクリ...
- "history -r" :履歴ファイルの内容を読み込み、これらを現...
- histappend :設定されている場合、シェルの終了時に変数...
/////////////////////////////////////////////////////////...
* PS1 (プロンプト文字列) [#cde76c5c]
//=======================================================...
** PS1 で使用出来る組み込み特殊文字 [#a2fc3701]
|~特殊文字 |~表示内容 |
|\a |ASCII のベル文字 (07) |
|\d |"曜日 月 日" という形式の日付 (例: "Tue May ...
|\D{format} |format が strftime(3) に渡され、 その結果が...
|\e |ASCII のエスケープ文字 (033) |
|\h |ホスト名のうち最初の `.' までの部分 |
|\H |ホスト名 |
|\j |シェルによって現在管理されているジョブの数 |
|\l |シェルの端末デバイスのベース名 (basename) |
|\n |改行 (newline) |
|\r |復帰 (carriage return) |
|\s |シェルの名前。つまり $0 のベース名 (最後の...
|\t |24 時間制の HH:MM:SS 形式の現在の時刻 |
|\T |12 時間制の HH:MM:SS 形式の現在の時刻 |
|\@ |12 時間制の am/pm 形式の現在の時刻 |
|\A |12 時間制の HH:MM 形式の現在の時刻 |
|\u |現在のユーザのユーザ名 |
|\v |bash のバージョン (例: 2.00) |
|\V |bash のリリース。バージョンにパッチレベルを...
|\w |現在の作業ディレクトリ。 $HOME の部分はチル...
|\W |現在の作業ディレクトリのベース名 $HOME の部...
|\! |このコマンドの履歴番号 |
|\# |このコマンドのコマンド番号 |
|\$ |実効 UID が 0 の場合に #、 それ以外の場合は ...
|\nnn |8進数 nnn に対応する文字 |
|\\ |バックスラッシュ |
|\[ |非表示文字のシーケンスの開始。 これを使うと...
|\] |非表示文字のシーケンスを終了します。 |
- 上記は man (1) bash から抜粋。
//=======================================================...
** git 関連 [#t471a078]
- bash が下記ファイルを参照するよう設定されていれば、 git...
git-prompt
-- debian の場合、ディストリビューションで用意されたもの...
/etc/bash_completion.d/git-prompt
//-------------------------------------------------------...
*** 設定方法 [#hb07fd6f]
+ PS1 に ''$(__git_ps1)'' を追加する
-- 例えば
[\u@\h:\l \W]$
~
であれば、下記のように:
PS1="[\u@\h:\l \W $(__git_ps1)]$ "
-- git 情報の部分を赤文字にする場合:
PS1="[\u@\h:\l \W\033[31m\]$(__git_ps1)\[\033[00m\]]$ "
+ $(__git_ps1) による表示内容を調整する
-- git-promput から読み込んでいる下記ファイルにて、表示に...
/usr/lib/git-core/git-sh-prompt
-- オプション一覧
|~parameter |~setting val. |~indicate de...
|GIT_PS1_SHOWDIRTYSTATE |yes |"*":unstaged...
|GIT_PS1_SHOWSTASHSTATE |yes |"$":somethin...
|GIT_PS1_SHOWUNTRACKEDFILES |yes |"%":There ar...
|GIT_PS1_COMPRESSSPARSESTATE |yes | ...
|GIT_PS1_SHOWUPSTREAM |yes |"<":behind, ...
|GIT_PS1_STATESEPARATOR |yes | | |
|GIT_PS1_SHOWCOLORHINTS |yes | | |
-- 上記設定値は全て、空文字かどうかで判定されているので、...
--- "no" を設定しても "yes" としたときと同じ動作になるの...
-- これらのオプションは、少なくとも PS1 の定義より前に設...
-- 設定例
$ cat ${HOME}/.bashrc
<snip>
GIT_PS1_SHOWDIRTYSTATE=yes
GIT_PS1_SHOWUNTRACKEDFILES=yes
GIT_PS1_SHOWUPSTREAM=yes
PS1="[\u@\h:\l \W $(__git_ps1)]$ "
<snip>
ページ名: