Wednesday, February 2, 2022

[SOLVED] How to capture the output of curl to variable in bash

Issue

So, lets say I have the following command:

curl -I http://google.com | head -n 1| cut -d $' ' -f2

This will capture the http status code?? Now I want to assign this to variable.. in bash script

like output = "curl -I http://localhost:8088/tracks?key=9 | head -n 1| cut -d $' ' -f2" 

or something like that..

How do I assign the response of above command to a variable called output in bash? Thanks


Solution

You have two options (see this StackOverflow answer here):

  • Preferred: Surround the invocation in $()
  • Surround the invocation in back ticks

NOTE: back ticks are legacy, the former method is preferred.

output=$(curl -I http://google.com | head -n 1| cut -d $' ' -f2)
echo "$output";

output=`curl -I http://google.com | head -n 1| cut -d $' ' -f2`
echo "$output";


Answered By - user3920237
Answer Checked By - Marie Seifert (WPSolving Admin)