知識の本棚

読みかけの本でも読んだ本でも読むつもりの本でも、とにかく本棚に仕舞うように調べたことを書き溜める。

シェルスクリプト覚書(引数、文字列操作など)

実行可能にする

chmod a+x hoge.sh

引数

read FILE #入力待機状態
echo "$FILE"

echo "$1" #引数として入力を受け付ける

文字列操作

参考:Shell Script での文字列操作 - Qiita

FILE="/usr/local/var.piyo/hoge.piyo"

# 先頭から = #
# 文字列の先頭から、最初に一致するパターンを取り除く (${VAR#pattern})
echo ${FILE#*.} # => piyo/hoge.piyo
echo ${FILE#*/} # => usr/local/var.piyo/hoge.piyo
echo ${FILE#*a} # => l/var.piyo/hoge.piyo

# 文字列の先頭から、最後に一致するパターンを取り除く (${VAR##pattern})
echo ${FILE##*.} # => piyo
echo ${FILE##*/} # => hoge.piyo
echo ${FILE##*a} # => r.piyo/hoge.piyo

# 末尾から = %
# 文字列の末尾から、最初に一致するパターンを取り除く (${VAR%pattern})
echo ${FILE%.*} # => /usr/local/var.piyo/hoge
echo ${FILE%/*} # => /usr/local/var.piyo
echo ${FILE%a*} # => /usr/local/v

# 文字列の末尾から、最後に一致するパターンを取り除く (${VAR%%pattern})
echo ${FILE%%.*} # => /usr/local/var
echo ${FILE%%/*} # =>
echo ${FILE%%a*} # => /usr/loc