diary/Kojima

・bash スクリプト

某所の原稿で最近のbashの変数展開回りの機能をあれこれ調べてたついでに書いてみた、指定したディレクトリ以下のavifな形式の画像ファイルをjpg形式に変換して、zipファイルに纏めるためのスクリプト。

# 何に使うのかはナイショ(w

 #!/bin/bash
 
 tdir=$1
 pushd "${tdir}"
 for i in *avif ; do
     heif-convert $i ${i/avif/jpg}
 done
 popd
 zip -r "${tdir}".zip "${tdir}"/*jpg

以前は、空白文字を含むファイル名やディレクトリ名を処理するためにIFSをイジったりしてたけど、変数名を"..."で括るだけで問題なく処理できるようになったのはちょっとビックリ。

このあたり、bshの仕様でシェルスクリプトを学んだから、未だに文字列の有無のチェックに

 if [ "${tst}.x" != ".x" ]; then ...

みたいな書き方をしてしまうあたりから学び直さないといけないなぁ。。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-08-01 (月) 21:43:16