#!/bin/bash
# Get available disk space in the current directory
available_space=$(df -h . | awk 'NR==2 {print $4}')
# Convert available space to MB
available_space_mb=$(echo $available_space | grep -o '[0-9]\+')
# Check if the unit is GB, MB, or KB
if [[ $available_space == *G ]]; then
available_space_mb=$(echo "$available_space_mb * 1024" | bc)
elif [[ $available_space == *K ]]; then
available_space_mb=$(echo "$available_space_mb / 1024" | bc)
fi
# Check if available space is less than 500 MB
if (( $(echo "$available_space_mb < 500" | bc -l) )); then
echo "Error: Not enough space. Available space is ${available_space}."
exit 1
else
echo "Sufficient space available: ${available_space}."
fi
スクリプトの説明
空き容量の取得:
bash
コードをコピーする
available_space=$(df -h . | awk 'NR==2 {print $4}')
df -h . コマンドを使用して、現在のディレクトリの空き容量を取得し、awkを使用してその値を抽出します。
空き容量の数値部分の抽出:
bash
コードをコピーする
available_space_mb=$(echo $available_space | grep -o '[0-9]\+')
grepを使用して空き容量の数値部分を抽出します。
単位の確認と変換:
空き容量がGB単位の場合、MBに変換します。
空き容量がKB単位の場合、MBに変換します。
空き容量のチェック:
bash
コードをコピーする
if (( $(echo "$available_space_mb < 500" | bc -l) )); then
echo "Error: Not enough space. Available space is ${available_space}."
exit 1
else
echo "Sufficient space available: ${available_space}."
fi
bcコマンドを使用して空き容量が500MB未満かどうかをチェックし、条件に応じてエラーメッセージを表示します。
スクリプトの実行方法
スクリプトをファイル(例えば check_space.sh)に保存します。
スクリプトに実行権限を与えます。
bash
コードをコピーする
chmod +x check_space.sh
スクリプトを実行します。
bash
コードをコピーする
./check_space.sh
このスクリプトを実行することで、現在のディレクトリの空き容量が500MB未満の場合にエラーメッセージが表示されます。
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme