Table of Contents
Various installation guides in Linux involve running a shell script first, which we download and then execute separately using Bash. Not only installation guides but also custom shell scripts written for automating manual activities involve downloading and executing scripts.
In this tutorial, we’ll cover a way using curl and wget to download and execute a script in a single step
This is my test script at https://bonguides.com/test.sh.
echo " ******************************************************"
echo " * This is a test script *"
echo " * Author: https://bonguides.com *"
echo " ******************************************************"
Download and Execute a Bash Script Using curl
Some Linux distributions may not have curl installed by default. We can install it using the following command:
###Ubuntu/Debian
sudo apt-get -y install curl
###CentOs/Fedora/Redhat
sudo yum -y install curl
curl -s https://bonguides.com/test.sh | bash
# curl -s https://bonguides.com/test.sh | bash
******************************************************
* This is a test script *
* Author: https://bonguides.com *
******************************************************
Download and Execute a Bash Script Using wget
Most Linux distributions have wget installed by default.
###Ubuntu/Debian
sudo apt-get -y install wget
###CentOs/Fedora/Redhat
sudo yum -y install wget
wget -qO - https://bonguides.com/test.sh | bash
The option O is used to save the content of test.sh to a file. The trailing hyphen (the one between -qO and https://) is to tell wget to direct this content to /dev/stdout. Anything directed to /dev/stdout is displayed right on the terminal, that’s the reason why the content of test.sh is never written to disk.
If we use wget without a trailing hyphen and capital O, then get will save the content of the file to disk with the filename script.sh. This is because wget is actually used to download files in Linux.
# wget -qO - https://bonguides.com/test.sh | bash
******************************************************
* This is a test script *
* Author: https://bonguides.com *
******************************************************
Conclusion
In this short article, we learned how to execute a shell script directly from a URL using curl and wget.