カンニングペーパ / sedが入ってなければsedをinstallするshell script
sed に限らず、makeやtrやpython などがインストールされてない環境もあります。配布する開発ツールが前提とするコマンドをインストールするschell script のカンニングペーパーは以下になります。
#!/bin/bash
# sedコマンドのパス
sed_path=$(command -v sed)
# sedがインストールされているか確認
if [ -z "$sed_path" ]; then
echo "sedコマンドが見つかりません。sedをインストールします。"
# インストールコマンドに応じて変更
if command -v apt-get &> /dev/null; then
# Debian系
sudo apt-get install -y sed
elif command -v yum &> /dev/null; then
# Red Hat系
sudo yum install -y sed
elif command -v pacman &> /dev/null; then
# Arch系
sudo pacman -Sy --noconfirm sed
elif command -v brew &> /dev/null; then
# macOS (Homebrew)
brew install gnu-sed
else
echo "インストール方法がわかりません。手動でsedをインストールしてください。"
exit 1
fi
# 再度パスを確認
sed_path=$(command -v sed)
if [ -z "$sed_path" ]; then
echo "sedのインストールに失敗しました。"
exit 1
fi
fi
echo "sedコマンドがインストールされています。"
echo "sedのパス: $sed_path"
上記のスクリプトでは、command -v sedを使用してsedコマンドのパスを取得し、パスが空であればsedがインストールされていないとみなします。その場合は、ディストリビューションや環境に応じたインストールコマンドを使用してsedをインストールします。
スクリプトを実行すると、sedコマンドがインストールされているかどうかを確認し、インストールされていない場合にはインストールを試みます。また、最後にsedのパスを表示します。
スクリプトを実行するには、シェルで保存し、実行権限を付与してから以下のように実行します。