Bash スクリプト
基本
| $ touch ./script.sh
$ chmod a+x ./script.sh
|
標準エラー出力
| script.sh |
|---|
| #!/bin/bash
echo Error >&2
|
変数
| script.sh |
|---|
| #!/bin/bash
VERSION="1.0.0"
echo $VERSION
|
コマンドライン引数
| ./script.sh |
|---|
| #!/bin/bash
VERSION=1.0.0
OPTION=$1
echo FILENAME=$FILENAME
echo OPTION=$OPTION
|
if 文
bash に boolean 型は存在しない。
| #!/bin/bash
INITIALIZE="true"
if [ "$INITIALIZE" = "true" ]; then
# 初期設定
echo "INITIALIZE is true"
else
echo "INITIALIZE is not true"
fi
|
for 文
改行区切りの文字列でループさせる
| ORG_IFS=$IFS
IFS=$'\n'
arrays=($URL)
for i in "${arrays[@]}";do
../yt-dlp "$i"
done
IFS=$ORG_IFS
|
echo で管理者権限の必要なファイルを書き込む
以下の 2 通りある。teeを使う方はechoの内容がターミナルにも標準出力される。
| $ sudo sh -c "echo \"abc\" > /path/to/file"
|
| $ echo "abc" | sudo tee /path/to/file
|
コマンドの戻り値を標準出力する
| $ ls -l; echo $? # 0とかが出力される
|
スクリプトのカレントディレクトリをスクリプトの存在するディレクトリにする
yyyyMMddHHmmss
| TIMESTAMP=$(date +"%Y%m%d%H%M%S")
echo $TIMESTAMP
|