bash

更新中。

前提知識

判定ステータス

  • 終了ステータス1: 偽
  • 終了ステータス2: 真

Shebang
スクリプト冒頭に”#!”を記述、その後にファイル名を書くと、実行属性を付けてファイルを実行可能になる。
この冒頭行を”Shebang”と言う。

各種コマンド

test.confにxxxは含まれるか。

$ grep -i "xxx" 'test.conf' ; echo $?

file_Aの方が新しいか。(逆は-ot)

$ test file_A -nt file_B

入力操作

# カーソルを先頭に
{Ctrl + a}

# カーソルを行末に
{Ctro + e}

# 入力文字を全て消す
{Ctrl + u}

.bashrcと.bash_profile

サーバ構築時、必要最低限の設定を行っておく。

  • Linuxにログイン後、ホームディレクトリにある”.bash_profile”->”.bashrc”の順に実行される。
  • 既にログインしている状態で、新しくbashを起動した場合は、”.bashrc”の実行される。

~/.bash_profile

  • ログイン時に一回のみ実行される。
  • 環境変数を設定する。
# .bash_profile

# Get the aliases and functions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

PATH=$PATH:$HOME/bin
export PATH

~/.bashrc

  • bashを立ち上げる度に実行される。
  • エイリアスを設定する。
  • CLI補完の設定をする。
  • その他シェル関数を設定する。
# .bashrc

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ls='ls --color'
alias l='ls -1'
alias la='ls -1A'
alias ll='ls -1alF'

# history にコマンド実行時刻を記録
HISTTIMEFORMAT='%Y-%m-%dT%T%z '

# history数を50000に指定
HISTSIZE=50000

各ユーザー共通で設定する

ユーザー作成時に以下の大元のファイルが読み込まれる為、ユーザー共通で設定したい場合は下記ファイルを編集する。

ls -la /etc/skel/
合計 20
drwxr-xr-x  2 root root 4096  8月 13 11:16 .
drwxr-xr-x 83 root root 4096  8月 29 01:38 ..
-rw-r--r--  1 root root   18  8月 16  2016 .bash_logout
-rw-r--r--  1 root root  193  8月 16  2016 .bash_profile
-rw-r--r--  1 root root  124  8月 16  2016 .bashrc

関連記事

ShellScript文法確認サイト