How to Create Shell Scripts in Ubuntu: Automating Repetitive Tasks

Ever find yourself doing the same tasks over and over again in Ubuntu? Maybe you’re constantly updating your system, backing up files, or running a specific program at the start of your day. Trust me, I’ve been there. It gets old fast. But here’s the good news: You can automate all that with shell scripts! Yep, those little scripts can be lifesavers when it comes to cutting down on repetitive tasks.

Today, I’ll walk you through creating your own shell scripts in Ubuntu. And don’t worry; it’s a lot easier than it sounds. Ready? Let’s get into it.

What’s a Shell Script?

Okay, so before we dive in, let me explain quickly what a shell script is. Think of it like a to-do list for your computer. You give it a series of commands, and it runs them one by one. The best part? Once you set it up, it’ll do the work for you whenever you run the script.

Now, let’s jump right in.

Step 1: Open a Terminal (Your Script Playground)

First things first, you’ll need to open your terminal. If you’re not sure how, just press Ctrl + Alt + T. You’ll be using this a lot for scripting, so get comfy with it.

Step 2: Create a New File for Your Script

You’re going to need a file to store your script, and creating one is super simple. Here’s how:

  1. In the terminal, type:
nano myscript.sh

This opens up a new file called myscript.sh using nano, which is a super handy text editor for terminal use.

Step 3: Start Your Script with a Shebang (Not as Scary as It Sounds)

At the top of your script, you’ll want to add something called a “shebang.” Sounds intense, right? But all it does is tell Ubuntu that this file is a shell script. Here’s what you’ll type:

#!/bin/bash

That’s it! Just that little line tells Ubuntu to run the script using the Bash shell.

Step 4: Add Your Commands

Now comes the fun part. This is where you’ll add the tasks you want to automate. Let’s start with something simple, like updating your system. Add this below the shebang:

sudo apt update && sudo apt upgrade -y

This will automatically update your system whenever you run the script. Super handy, right?

Step 5: Save and Exit

Once you’ve added your commands, it’s time to save the script. In nano, just press:

  • Ctrl + O to save
  • Ctrl + X to exit

Boom! You’ve got a script.

Step 6: Make Your Script Executable (The Key to Running It)

Before you can run your script, you need to give it permission to execute. Don’t worry, it’s just one command. In the terminal, type:

chmod +x myscript.sh

This command tells Ubuntu, “Hey, it’s cool to run this file as a program.”

Step 7: Run Your Script!

Ready to see your script in action? To run it, type:

./myscript.sh

And there you go! Your script will run, and Ubuntu will start automating those tasks for you. You won’t believe how easy that was, right?

Real-Life Example: A Daily Backup Script

Let me tell you about a script I use all the time. I’ve got a folder where I keep all my important files, and I want to back it up daily. Instead of doing it manually, I wrote a quick script.

Here’s what it looks like:

#!/bin/bash
cp -r /home/username/important_files /home/username/backup/

Every time I run it, it copies my important_files folder to a backup folder. Trust me, this trick is a lifesaver, especially if you’re as forgetful as I am!

Step 8: Schedule Your Script with Cron (Bonus Round)

Now, if you want to take it up a notch, you can schedule your script to run automatically at certain times using cron. It’s like setting an alarm for your script.

  1. Type:
   crontab -e
  1. Add a line like this to run your script every day at 7 AM:
   0 7 * * * /home/username/myscript.sh

That’s it. Your script will run on its own, and you won’t have to lift a finger!

FAQs

Q: What happens if I skip the chmod +x step?

A: Your script won’t run. Ubuntu needs permission to execute it, and chmod +x gives it the green light. Without it, you’ll get an error saying the file isn’t executable.

Q: Can I run the script without opening the terminal every time?

A: Yep! You can double-click the file in your file manager and select “Run in Terminal.” But honestly, getting comfortable with the terminal will save you so much time in the long run.

Q: What if I mess up my script?

A: Don’t worry, it happens to the best of us. If something goes wrong, you can always go back and edit the script with nano myscript.sh. Just tweak the commands until it works.

Conclusion: You’ve Got This!

And that’s pretty much it! You now know how to create shell scripts in Ubuntu, automate tasks, and even schedule them to run on their own. Once you get the hang of it, trust me, you’ll be scripting all kinds of stuff to make your life easier.

The key takeaway here is: scripts are your friend. They’re like little helpers that do the boring stuff for you. So, get creative and start automating those tasks you hate doing manually.

Now, it’s time to try it yourself! You’ve got this!

Deepak Maurya

About the Author: Deepak Maurya

I hold a Computer Science degree, which built my skills in programming and system administration. Over time, my passion for Linux grew, not just for its tech power but because of the supportive community around it. Writing about Linux, especially Ubuntu, lets me share what I’ve learned. I understand how challenging it can be to start with something as flexible as Linux, so my aim is to simplify complex topics for everyone, no matter their skill level.

Full Bio »

Leave a Comment