Unix Tutorial 17 : Advance Unix

Unix includes commands for:

  • Testing various conditions associated with specified files.
  • Testing various conditions associated with specified strings.
  • Performing file read/write operations.

Arrays

Arrays are used to store a series of values in an indexed list. Items in an array are stored and retrieved using an index. Note that Arrays are not supported by the original Bourne Shell, but are supported by bash and other newer shells.

File Test Operators

Shell scripts often need to check various properties of files as a part of the control flow. Unix provides a number of options for this purpose.
  • File existence checks:
    • -f file True if the file exists and is an ordinary file.
    • -d file True if the file exists and is a directory.
    • -s file True if the file exists and is not empty.
    • -c file True if the file exists and is a character device file.
    • -b file True if the file exists and is a block devise file.
  • File access checks:
    • -r file True if the file exists and has read permission to it.
    • -w file True if the file exists and has a write permission to it.
    • -x file True if the file exists and has a execute permission to it.

String Test Operators

Unix commands often need to test the various properties of string variables as a part of the control flow.
Unix provides a number of options for this:
  • [ string1=string2 ] True if string1 and string2 are same.
  • [ string1!=string2 ] True if string1 is not equal to string2.
  • [ -n string ] True if the string is not zero.
  • [ -z string ] True if the string is zero.
  • [ string ] True if the string is not empty.

Special Variables

While running scripts, Unix provides a number of predefined variables that can be used to get information from the environment.
Unix also provides a number of special symbols with additional information:
  • $# Total number of positional parameters.
  • $@ Represents all the parameters i.e. $1 to the end.
  • $? Pass or fail status of the last command executed.
  • $$ Process id of the currently running shell.
  • $! Process id of the last run background process.

Comments

Popular posts from this blog

Hive Tutorial 31 : Analytic Functions

Hive Tutorial 37 : Performance Tuning

How to change sqoop saved job parameters