Help us understand the problem. What is going on with this article?

シェルスクリプト(Bash)の記号の意味

概要

検索しにくい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 ]]

後付

Bashリファレンスマニュアル

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした