terminal起動時に20%の確率で定常作業を実行させる
背景
blogバックアップ用のコマンドがあり、たまに実行したかった。
cronを用意するほどではなかったので、毎日使うパソコンの中で実行されればということで作成。
説明
ターミナル起動時にランダムで約20%の確率で特定のコマンドを実行するには、シェルの設定ファイル(たとえば、~/.bashrcや~/.zshrc)に以下のスクリプトを追加します。このスクリプトは、0から9までのランダムな数を生成し、その数が1か2の場合にコマンドを実行します。
まず、実行したいコマンドをファイルに格納しておきます。例えば、~/my_commands.shに以下のようにコマンドを書きます。
#!/bin/bash
# my_commands.sh
echo "This is a random command execution!"
# Add more commands here
次に、シェルの設定ファイルに以下のスクリプトを追加します。
# ~/.bashrc または ~/.zshrc に追加
if [ $((RANDOM % 10)) -lt 2 ]; then
source ~/my_commands.sh
fi
このスクリプトの説明は以下の通りです:
$RANDOMは0から32767の間のランダムな数を生成します。$((RANDOM % 10))は、0から9までのランダムな数を生成します。- 生成された数が2未満(0か1)であれば、
source ~/my_commands.shが実行されます。これにより、約20%の確率でコマンドが実行されます。
最後に、設定ファイルを読み込み直すか、ターミナルを再起動してこの設定を反映させます。
source ~/.bashrc # bashの場合
source ~/.zshrc # zshの場合
これで、ターミナル起動時にランダムでコマンドが実行されるようになります。