Let NOAA take the banner of climate research and run with it . I would be 100 % on board with this if I thought NOAA could do as good a job and would get as much funding . In reality , I think it is most likely that the Trump administration will gut NASA ' s climate research funding and fail to fund or critically underfund NOAA for the same research . <| sep |> Plus , that douche bag was going after some good workers trying to make the best of a shit gimmick , basically kicking them while they were down , and he was an absolute nobody . His wasn ' t about building himself up in kayfabe . He was basically being a smarky cunt . Not even close to the same thing . <| sep |> The state of bash resources on the internet is a sad story . Most of what you find via google searches is wrong in one way or another . The Linux Documentation Project has some bash guides that will often be among the top hits on google , which is sad since they teach bad practices , and in some places they are just plain wrong . The # bash community tried to reach out to the author of The Advanced BashScripting Guide to get some of the worst errors fixed , but the author refused , so instead they started a new guide , the , which tries to teach good practices in addition to teaching the basics of the language . This is the only good bash guide I know about . What beginners tend to struggle with the most , is . That most guides , tutorials , stackoverflow answers and blog posts often fail at using proper quoting in examples , nor explain their importance , doesn ' t help . Another common point of confusion is the difference between sh and bash . A history lesson about the origin of Bourne , POSIX , ksh and bash would be a good starting point . As for what syntax to choose , my general advice is to avoid the commandsfeatures that are completely covered by newer commandsfeatures . Use to test strings and files . can do everything the and test command can , but it can also do more , such as pattern and regex matching . Therefore is completely redundant . FAQ 31 Use to test numbers integers . can test numbers too , but the syntax is inherited from the command and is clunky . uses C style syntax for arithmetics . Use arrays to store multiple pieces of data . In bourne and sh , you are limited to storing multiple items in strings , or hijacking $. In bash , have arrays , so use them . Since bash 4 . 0 there is also associative arrays . FAQ 5 , FAQ 50 Use printf to output strings . Bash ' s echo has options , yet it does not have a way to escape the options by the usual means the argument , which means it can ' t always output the data you want it to vare echo $ var # empty line . Avoid set e and set u which give the illusion of aborting on errors . They don ' t work like you expect and adds more problems than they fix . FAQ 105 , FAQ 112 Use $ for command substitution . The older . syntax has various problematic parsing issues . FAQ 82 Use the read command and parameter expansions to do string manipulations . E . g . instead of foo $ echo $ line cut d , f 1 , you can use a parameter expansion like foo $ line %%,, or split with read IFS , read ra array $ line . FAQ 100 Avoid parsing the output of ls and find . Pitfall 1 ,