0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

このスクリプトを実行することで、現在のディレクトリの空き容量が500MB未満の場合にエラーメッセージが表示されます。

Posted at
#!/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未満の場合にエラーメッセージが表示されます。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?