Bash cheat sheet: Difference between revisions
Jump to navigation
Jump to search
| Line 80: | Line 80: | ||
#echo "myreturnvalue is "$myreturnvalue | #echo "myreturnvalue is "$myreturnvalue | ||
if [ $myreturnvalue == "1" ] ; then #Check for Debian | if [ $myreturnvalue == "1" ] ; then #Check for Debian | ||
echo "File | echo "File exist: ${test_path}/${test_file}" | ||
else | else | ||
echo "File does NOT | echo "File does NOT exist: ${test_path}/${test_file}" | ||
fi | fi | ||
} | } | ||
Revision as of 23:14, 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 a function call using args and the use of the return code
#!/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 "File exist: ${test_path}/${test_file}"
else
echo "File does NOT exist: ${test_path}/${test_file}"
fi
}
function chkFile(){
if [ -f $1 ]; then #Check for file
return 1
else
return 0
fi
}
main "$@"; exit 0