プログラミング · Linux · シェル · Bash
Linux:シェルとBashのタイピング練習
$$・$!・$? などの特殊変数をはじめ、Linux のシェルと Bash の書き方76個を打って覚えます。それぞれ何を表すかの説明が付いています。
1リスト・76語
無料・ログインなしで練習できます。押すとこのパックをフォローし、すぐに練習が始まります。
収録している言葉
Linux:シェルとBash
| 打つ言葉 | 意味・補足 |
|---|---|
| $$ | 現在のシェルのPID(Bash) |
| $! | 直近にバックグラウンド起動したジョブのPID |
| $? | 直前のコマンドの終了ステータス |
| /proc/self | アクセス中のプロセス自身 |
| /proc/$$ | シェルのPIDに対応するディレクトリ |
| > | 標準出力を上書き保存 |
| >> | 標準出力を追記保存 |
| < | ファイルから標準入力へ |
| 2> | 標準エラー出力だけ保存 |
| 2>> | 標準エラー出力を追記 |
| 2>&1 | FD2を現在のFD1と同じ出力先へ接続 |
| 1>&2 | FD1を現在のFD2と同じ出力先へ接続 |
| &> | 標準出力とエラー出力をまとめて保存(Bash) |
| <<< | Here String:文字列を標準入力に渡す(Bash) |
| <<EOF | Here Document:複数行を入力に渡す |
| |& | 標準出力と標準エラー出力をパイプへ(Bash) |
| kill -l | シグナル一覧表示 |
| kill -TERM 1234 | kill -TERM:終了を要求 |
| kill -HUP 1234 | kill -HUP:HUPシグナル送信 |
| kill -STOP 1234 | kill -STOP:プロセスを停止 |
| kill -CONT 1234 | kill -CONT:プロセスを再開 |
| trap 'echo interrupted' INT | trap:シグナル等を受けた際の処理設定 |
| wait "$pid" | wait:子プロセスなどの完了を待つ |
| disown %1 | disown:シェルのジョブ管理から外す(Bash) |
| echo "$0" | $0:スクリプト名など |
| echo "$1" | $1:第1引数 |
| echo "$2" | $2:第2引数 |
| echo "$#" | $#:引数の個数 |
| printf '%s\n' "$@" | $@:全引数 |
| echo "$*" | $*:全引数(引用方法に注意) |
| echo "$$" | $$:シェルのPID |
| echo "$?" | $?:直前の終了ステータス |
| echo "$!" | $!:直近のバックグラウンドジョブのPID |
| echo "$-" | $-:現在有効なシェルオプション |
| echo "$HOME" | $HOME:ホームディレクトリ |
| echo "$PATH" | $PATH:コマンド検索パス |
| echo "$PWD" | $PWD:現在のディレクトリ |
| ${HOME} | ${VAR}:変数展開 |
| ${PORT:-3000} | ${VAR:-default}:未設定・空ならデフォルト値 |
| ${PORT:=3000} | ${VAR:=default}:未設定・空なら代入して展開 |
| ${API_KEY:?required} | ${VAR:?error}:未設定・空ならエラー |
| ${#NAME} | ${#VAR}:文字列長 |
| ${FILE#*.} | ${VAR#pattern}:先頭から最短一致部分を除去 |
| ${FILE%.*} | ${VAR%pattern}:末尾から最短一致部分を除去 |
| ${NAME/foo/bar} | ${VAR/old/new}:最初の一致部分を置換 |
| $(date) | $(command):コマンド置換 |
| $((1 + 2)) | $((expression)):算術展開 |
| echo {1..5} | {1..5}:ブレース展開 |
| ls *.js | *.js:ファイル名のパターン展開 |
| ls ?.txt | ?.txt:任意の1文字に一致 |
| [[ -f file ]] | 通常ファイルが存在する |
| [[ -d dir ]] | ディレクトリが存在する |
| [[ -e path ]] | ファイルなどが存在する |
| [[ -L path ]] | シンボリックリンクである |
| [[ -r file ]] | 読み取り可能 |
| [[ -w file ]] | 書き込み可能 |
| [[ -x file ]] | 実行・検索可能 |
| [[ -z "$VAR" ]] | 文字列が空 |
| [[ -n "$VAR" ]] | 文字列が空ではない |
| [[ "$A" == "$B" ]] | 文字列が等しい |
| [[ "$A" != "$B" ]] | 文字列が異なる |
| [[ "$A" =~ regex ]] | 正規表現に一致 |
| (( A > B )) | 数値比較 |
| bash script.sh | Bashスクリプト実行 |
| bash -n script.sh | 構文確認 |
| bash -x script.sh | 実行過程を表示 |
| declare -i | 整数属性の変数を宣言 |
| declare -a | 配列を宣言 |
| local | 関数内のローカル変数 |
| readonly | 変数を読み取り専用にする |
| return | 関数から戻る |
| exit | シェル・スクリプトを終了 |
| shift | 位置引数をずらす |
| getopts | 短いオプションを解析 |
| mapfile | 標準入力などを配列へ読み込む |
| shopt | Bash固有のシェル設定を管理 |