Bash cheat sheet: Difference between revisions

From Coolscript
Jump to navigation Jump to search
(Created page with "*Getoptions with flags while getopts "f" option; do case ${option} in f) flag="1" *) echo "unknown parameter" exit;; esac done *Getoptions wi...")
 
No edit summary
Line 67: Line 67:
  World
  World
  "
  "
*Cool code sample of functions call using args and return codes
#!/bin/bash
main() {
  declare test_path='/etc'
  declare test_file='motd'
  chkFile "${test_path}/${test_file}"
  myreturnvalue=$?
  #echo "myreturnvalue is "$myreturnvalue
  if [ $myreturnvalue == "1" ] ; then  #Check for Debian
  echo "EXIST"
  else
  echo "NO EXIST"
  fi
  }
  function chkFile(){
  if [ -f $1  ]; then  #Check for file
  return 1
  else
    return 0
  fi
  }
main "$@"; exit 0

Revision as of 23:05, 5 November 2021

  • Getoptions with flags
while getopts "f" option; do   
 case ${option} in
 f)
     flag="1"
 *)
     echo "unknown parameter"
     exit;;
  esac
done


  • Getoptions with args
while getopts "a:" option; do   
 case ${option} in
 a)
     arg="${OPTARG}"
 *)
     echo "unknown parameter"
     exit;;
  esac
done


  • Condition -OR-
if "$isA" || "$isB"; then
 do-something
fi 
  • Condition if var is defined
if [ ${var+x} ]; then 
 do-something
fi


  • Print Text
cat << EOF
Any ...
text ... 
EOF
}


  • Read tokenized configuration file
. /etc/os-release
echo $VERSION_ID
  • Search in file, return bool
if grep -q search-arg "/etc/file.conf"; then
 do-something
fi


  • Search and replace
sed -i -r  's/(.*)umask 022(.*)$/\t#Changed\n\tumask 027/gi' /etc/profile
  • CRLF within string
scriptmsg+="Hello\n"
scriptmsg+="World\n"
echo -e $scriptmsg
NL=$'\n'
echo -e " Hello${NL}Wolrd"
echo "
Hello
World
"



  • Cool code sample of functions call using args and return codes
#!/bin/bash
main() {
 declare test_path='/etc'
 declare test_file='motd'
 chkFile "${test_path}/${test_file}"	
 myreturnvalue=$?
 #echo "myreturnvalue is "$myreturnvalue
 if [ $myreturnvalue == "1" ] ; then   #Check for Debian
  echo "EXIST"
 else
  echo "NO EXIST"
 fi
 }
 function chkFile(){
  if [ -f $1  ]; then   #Check for file
  return 1
  else 
   return 0
  fi
 }
main "$@"; exit 0