bash メモ

2023/05/22

対話式

特定ディレクトリ下の一覧を出力

BASE_PATH="/PATH/TO/DIRECTORY/*"
VHOST_ARRAY=()
for FILE_PATH in $BASE_PATH; do
  # e.g. FILE_PATH = スラッシュ区切りのパス文字列
  PATH_LIST_SLASH=(${FILE_PATH//\// })
  # e.g. PATH_LIST_SLASH[3] = 最後のディレクトリ名
  VHOST_ARRAY+=("${PATH_LIST_SLASH[3]}")
done

INDEX=0
for PATH in ${PATH_ARRAY[@]}; do
  echo "${INDEX}: ${PATH}"
  ((INDEX++))
done

# 0: HOGE
# 1: FUGA
# 2: PIYO

配列の長さ

if [ $NUMBER -lt 0 ] || [ $NUMBER -ge ${#PATH_ARRAY[@]} ] ; then
  echo "範囲外"
fi

比較演算子

文字列→数値の型変換

NUMBER=`expr $INPUT \+ 0`

関数・引数

function Hogera() {
  HOGE=$1
  echo $HOGE
}

Hogera "hogehoge"

基本 $1, $2, ... っぽい。

$1 だと取り回しがしづらい場面があったのであえて一回別の名前の変数に代入するなどしてみた。

インクリメント

INDEX=0
for PATH in ${PATH_ARRAY[@]}; do
  echo "${INDEX}: ${PATH}"
  ((INDEX++))
done

Written by Circle
A mound built by the accumulation of hyperlinks are like Kowloon.