HowTo: Bash Shell Split String Into Array

by on December 14, 2012 · 5 comments· LAST UPDATED December 20, 2012

in , ,

How do I split string based on delimiter into array under Bash shell?

You need to use the $IFS. It is a special shell variable. You can change the value of IFS as per your requirements. The Internal Field Separator (IFS) that is used for word splitting after expansion and to split lines into words with the read builtin command. The default value is <space><tab><newline>. You can print it with the following command:
cat -etv <<<"$IFS"
Tutorial details
DifficultyEasy (rss)
Root privilegesNo
RequirementsGNU/Bash + Unix
Estimated completion timeN/A

$IFS variable is commonly used with read command, parameter expansions and command substitution.


Create a variable called ns as follows:


To split $ns variable (string) into array, use the following IFS syntax:

IFS=' '
read -a dnsservers <<< "${ns}"

OR use one liner as follows:

IFS=' ' read -a dnsservers <<< "${ns}"

To display values stored in an array, enter:

echo ${dnsservers[0]}

Sample outputs:

Use bash for loop to iterate through array values i.e. print all elements using bash for loop syntax:

for i in "${dnsservers[@]}"
   echo "$i"
Tweet itFacebook itG+ itDownload PDF versionFound an error/typo on this page?

{ 5 comments… read them below or add one }

1 bAsh December 14, 2012 at 9:29 pm

You could also do:

# ${ns} becomes an array:
echo ${ns[1]}  ${ns[2]}  ${ns[3]}


2 RAJ December 18, 2012 at 9:32 am

can u plz tell me all syntex and contitions for c , c++ program……


3 fufo December 16, 2012 at 5:13 pm




for i in $ns;do A[$n]=$i; ((n++));done

echo ${A[0]}
echo ${A[1]}
echo ${A[2]}
echo ${A[3]}


4 Roger December 20, 2012 at 5:21 pm

Just FYI:

“The default value is .”

That stmt got messed-up in the html-formatting of your article.
I can see in the html-code, you meant to write:
“The default value is (space)(tab)(newline).”
which is correct :)


5 nixCraft December 20, 2012 at 6:04 pm

Thanks for the heads up!


Leave a Comment

Tagged as: , , , , ,

Previous Faq:

Next Faq: