Skip to content

fix: etc/lib/ シェルスクリプトのshellcheckエラー対応 #9

@stlwolf

Description

@stlwolf

概要

etc/lib/ 配下のシェルスクリプトにshellcheckのerrorレベル警告が残っている。
make lint でエラーなしの状態にする。

対象ファイル

  • etc/lib/standard.sh
  • etc/lib/vital.sh

エラー内容

SC2145 (error): Argument mixes string and array

# Before (エラー)
echo "message $@"

# After (修正)
echo "message $*"
# または
echo "message" "$@"

$@ は配列展開されるため、文字列リテラルと混合できない。

  • 単一文字列として扱う場合: $* を使用
  • 個別引数として渡す場合: 文字列と分離

SC1087 (error): Use braces when expanding arrays

# Before (エラー)
echo $array[0]

# After (修正)
echo "${array[0]}"

SC2166 (warning): Prefer [ p ] && [ q ] as [ p -a q ] is not well defined

# Before
[ -f "$1" -a -r "$1" ]

# After
[ -f "$1" ] && [ -r "$1" ]

SC2164 (warning): Use 'cd ... || exit' in case cd fails

# Before
cd "$dir"

# After
cd "$dir" || exit

実行コマンド

# エラー確認
make lint 2>&1 | grep -E "etc/lib/"

# 修正後の確認
make lint

注意事項

  • これらのファイルは初期化スクリプトで使用されるライブラリ
  • 動作確認: make init が正常に動作すること
  • 既存の関数シグネチャは維持(呼び出し元への影響を避ける)

参考

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions