Bash Programming

bash script: Screenshot Scheduler Script


#!/bin/bash

# Define the interval between each screenshot (in seconds)
interval=60

# Create a directory to store the screenshots
mkdir -p screenshots

# Infinite loop to take screenshots at regular intervals
while :
do
# Generate a timestamp for the screenshot
timestamp=$(date +"%Y%m%d_%H%M%S")

# Take a screenshot using scrot
scrot "screenshots/screenshot_$timestamp.png"

# Wait for the specified interval
sleep $interval
done

This Bash script is a Screenshot Scheduler Script that takes screenshots at scheduled intervals and organizes them into folders. Here’s a breakdown of the script:

1. We start by defining the interval between each screenshot in seconds using the variable `interval`.

2. We then create a directory named `screenshots` to store the screenshots using the `mkdir -p` command. The `-p` option ensures that the command does not throw an error if the directory already exists.

3. The script enters an infinite loop using the `while :` syntax, which means the loop will continue indefinitely unless explicitly terminated.

4. Inside the loop, we generate a timestamp for each screenshot using the `date` command with the format `%Y%m%d_%H%M%S`, which represents the year, month, day, hour, minute, and second.

5. We take a screenshot using the `scrot` command and save it in the `screenshots` directory with a filename format of `screenshot_$timestamp.png`.

6. The script then waits for the specified interval (in seconds) using the `sleep` command before taking the next screenshot.

This script will continuously take screenshots at the specified interval and store them in the `screenshots` directory with filenames indicating the timestamp of each screenshot.