概要
検索しにくいBashの記号の意味をまとめてみた。
目次
スペース (Space) SP 記号の意味
Word Splitting
書式:
word1 word2
ビックリマーク (Bang) ! 記号の意味
Pipelines
書式:
! command1 && command2
Special Parameters
書式:
$!
Shell Parameter Expansion
例:
"${!prefix@}"
${!name[@]}
Shell Scripts
例:
#! /bin/bash
Bash Conditional Expressions
例:
[[ string1 != string2 ]]
Shell Arithmetic
例:
(( !(1 == 2) ))
(( 1 != 2 ))
History Interaction
例:
!!
ダブルクォート (Double quotation mark) " 記号の意味
Double Quotes
例:
""
シングルクォート (Single quotation mark) ' 記号の意味
Single Quotes
例:
''
ANSI-C Quoting
例:
$'\n'
ナンバーサイン (Number sign, 井桁, シャープ) # 記号の意味
Comments
書式:
# Comments
Special Parameters
例:
$#
Shell Parameter Expansion
例:
${#parameter}
${parameter#word}
${parameter##word}
Shell Scripts
例:
#! /bin/bash
ドル記号 (Dollar sign) $ 記号の意味
ANSI-C Quoting
書式:
$'string'
Conditional Constructs
例:
[[ abc =~ c$ ]]
Shell Parameters
例:
${var}
Positional Parameters
例:
$1
Special Parameters
例:
$$
Shell Parameter Expansion
例:
${parameter:-word}
Command Substitution
書式:
$(command)
Arithmetic Expansion
例:
$(( 1 + 1 ))
パーセント記号 (Percent sign) % 記号の意味
Shell Parameter Expansion
例:
${parameter%word}
${parameter%%word}
Shell Arithmetic
例:
$(( 3 % 2 ))
(( i %= 5 ))
Job Control Basics
例:
fg %
アンパサンド (Ampersand) & 記号の意味
Pipelines
書式:
|&
Lists
書式:
command &
command1 && command2
Conditional Constructs
例:
;&
;:&
[[ expression1 && expression2 ]]
Redirections
例:
>&-
<&-
&>
>&
&>>
2>&1
Shell Arithmetic
例:
(( i % 30 == 0 && i % 42 == 0 ))
括弧 (Parenthesis, 丸括弧) () 記号の意味
Conditional Constructs
例:
case "$-" in *i*) echo interactive ;; *) echo not interactive ;; esac
Command Grouping
書式:
( )
Shell Functions
書式:
name () compound-command
Looping Constructs
例:
for (( i=1; i <= 10; i++ )); do echo $i; done
Conditional Constructs
例:
(( n == 42 ))
Arithmetic Expansion
例:
$(( i++ ))
Arrays
例:
name=(value1 value2 … )
アスタリスク (Asterisk) * 記号の意味
Conditional Constructs
例:
case "$-" in *i*) echo interactive ;; *) echo not interactive ;; esac
Special Parameters
例:
$*
Shell Parameter Expansion
例:
${!prefix*}
Pattern Matching
例:
*
prefix*
[[ string == str* ]]
The Shopt Builtin
例:
shopt -s globstar
path/to/**/file
Shell Arithmetic
例:
$(( n * 2 ))
アットマーク (At sign) @ 記号の意味
Special Parameters
例:
"$@"
Shell Parameter Expansion
例:
"${!prefix@}"
${!name[@]}
${parameter@Q}
Pattern Matching
例:
shopt -s extglob
@(pattern-list)
Bourne Shell Builtins
例:
cd -@
プラス記号 (Plus sign) + 記号の意味
Tilde Expansion
例:
~+
Shell Arithmetic
例:
(( i++ ))
$(( n + 1 ))
The Set Builtin
例:
set +o restricted
コンマ (Comma) , 記号の意味
Brace Expansion
例:
{foo,bar}
Shell Parameter Expansion
例:
${parameter,pattern}
${parameter,,pattern}
Shell Arithmetic
例:
(( x=0, y=0 ))
ハイフン-マイナス (Hyphen-minus) - 記号の意味
Special Parameters
例:
$-
Tilde Expansion
例:
~-
Shell Parameter Expansion
例:
${parameter:-word}
Shell Arithmetic
例:
(( i-- ))
$(( n - 1 ))
ドット (Dot, ピリオド) . 記号の意味
Brace Expansion
例:
{1..10}
{1..9..2}
Bourne Shell Builtins
組み込みコマンド .
例:
. ~/.bashrc
スラッシュ (Slash) / 記号の意味
Shell Parameter Expansion
例:
${parameter/pattern/string}
${parameter//pattern/string}
Shell Arithmetic
例:
(( i /= 2 ))
$(( n / 2 ))
コロン (Colon) : 記号の意味
Bourne Shell Builtins
組み込みコマンド :
例:
:
Shell Parameter Expansion
例:
${parameter:-word}
${parameter:=word}
${parameter:?word}
${parameter:+word}
${parameter:offset}
${parameter:offset:length}
セミコロン (Semicolon) ; 記号の意味
Lists
書式:
command1; command2
Looping Constructs
例:
for (( i=1; i <= 10; i++ )); do echo $i; done
Conditional Constructs
例:
case "$-" in *i*) echo interactive ;; *) echo not interactive ;; esac
小なり (Less-than sign) < 記号の意味
Redirections
例:
<file
<<EOT
<<<text
Process Substitution
例:
<(grep foo file)
Shell Arithmetic
例:
(( n < 2 ))
$(( 1 << 8 ))
等号 (Equals sign, イコール) = 記号の意味
Shell Parameters
例:
name='foo bar'
Bash Conditional Expressions
例:
[ string1 = string2 ]
[[ string1 == string2 ]]
Shell Arithmetic
例:
(( var = 0 ))
(( 0 == 0 ))
(( 1 != 2 ))
大なり (Greater-than sign) > 記号の意味
Redirections
例:
>file
>>file
Process Substitution
例:
>(grep bar)
Shell Arithmetic
例:
(( n > 2 ))
$(( 8 >> 1 ))
はてな (Question mark, 疑問符) ? 記号の意味
Special Parameters
例:
$?
Shell Arithmetic
例:
$(( n > 2 ? 1 : n ))
角括弧 (Bracket, ブラケット) [ 記号の意味
Conditional Constructs
例:
[[ ]]
Bourne Shell Builtins
組み込みコマンド [
例:
[ ]
バックスラッシュ (Backslash) \ 記号の意味
Escape Character
例:
\
(Escape Character)
ANSI-C Quoting
例:
$'\n'
サーカムフレックス (Circumflex, Hat, ハット) ^ 記号の意味
Shell Parameter Expansion
例:
${parameter^pattern}
${parameter^^pattern}
Shell Arithmetic
例:
(( i ^= 0xff ))
アンダースコア (Underscore) _ 記号の意味
Special Parameters
例:
$_
バッククォート (Backquote) ` 記号の意味
Command Substitution
例:
cd `dirname "$0"`
波括弧 (Curly Bracket) {} 記号の意味
Command Grouping
書式:
{ list;}
Brace Expansion
例:
cp -a file{,.backup}
for i in {1..10}; do echo $i; done
縦棒 (Vertical Line、バーティカルライン) | 記号の意味
Pipelines
例:
grep hoge file | sed s/foo/bar/
Lists
例:
command1 || command2
Conditional Constructs
例:
case "`uname`" in Linux*|Darwin) echo "Linux or MacOS";; *) echo others ;; esac
Redirections
例:
set -o noclobber
echo text >| file.txt
Shell Arithmetic
例:
(( i % 3 == 0 || i % 5 == 0 ))
チルダ (Tilde) ~ 記号の意味
Tilde Expansion
例:
~
Shell Arithmetic
例:
(( ~(1 == 2) ))
Conditional Constructs
例:
pattern='^foo bar$'
[[ $parameter =~ $pattern ]]