Difference between revisions of "Script Course"

From rbachwiki
Jump to navigation Jump to search
Line 18: Line 18:
  -e True if file exists
  -e True if file exists


'''Exit Status return codes'''
===Exit Status return codes===
*Every command returns an exit status
*Every command returns an exit status
* range from 0 - 255
* range from 0 - 255
Line 45: Line 45:
  cp test.txt /tmp/bak || cp test.txt /tmp
  cp test.txt /tmp/bak || cp test.txt /tmp


''' Chaining multiple commands''
=== Chaining multiple commands===
  cp test.txt /temp; cp test.text /tmp
  cp test.txt /temp; cp test.text /tmp


=[[Bash| Bash menu]]-[[Main_Page| Home]]=
=[[Bash| Bash menu]]-[[Main_Page| Home]]=

Revision as of 13:03, 18 March 2019

File Operators Tests

Escape Sequence
Test Statements
  • -d File True if file is a directory
  • -e File True if file exists
  • -f File True if file exists and is a regular file
  • -r File True if file is readable by you
  • -s File True if file exist and is not empty
  • -w File True if the file is writable by you
  • -x File True if the file is executable by you
  • -z String True if string is empty
  • -n String true if string is not empty

Syntax

[condition to test for]

Example

[ -e /etc/passwd ]
-e True if file exists

Exit Status return codes

  • Every command returns an exit status
  • range from 0 - 255
  • 0 = success
  • Other than 0 = error condition
  • use for error checking


$? Contains the return code of the previously executed command

ls /not/here
echo "$?"

-

HOST = "google.com"
ping -c 1 $HOST
if [ "$?" -eq "0" ]
then 
echo "$HOST reachable."
else
echo "$HOST unreachable"
fi

' And and || or

  • && = And : if first fails the other won't be executed
mkdir /tmp/bak && cp test.txt /tmp/bak/
  • || OR - if one fails the other will be processed
cp test.txt /tmp/bak || cp test.txt /tmp

Chaining multiple commands

cp test.txt /temp; cp test.text /tmp

Bash menu- Home