Thursday, 24 August 2017

Unix Shell Scripting Tutorial - page 2

Unix Shell Scripting Tutorial - page 2

Question: What are special variable in unix?
Special variable are those variable which are reserved by unix shell. For Example $$ is special variable and it return the current process id.


Question: List the special variable?
  1. $$: Give the current process ID.
  2. $0: File name of current script.
  3. $n: $1 will give first argument, $2 will give 2nd argument.
  4. $#: The number of arguments supplied to a script.
  5. $*: Return all the arguments.
  6. $?: The exit status of the last command executed.
  7. $!: Process number of last command



Question: Can we define array variables?
Yes, we can define.
NAME01="Name 1"
NAME02="Name 2"
NAME03="Name 3"
NAME04="Name 4"
NAME05="Name 5"



Question: How to define array variable and use them?
Define Array variable
NAME01="Name 1"
NAME02="Name 2"
NAME03="Name 3"
NAME04="Name 4"
NAME05="Name 5"

Use single variable
echo $NAME[2];


Print each and every variable
for i in NAME01 NAME02 NAME03 NAME04 NAME05
do
  echo $i;
done



Question: How to print array in single line?
echo  ${NAME[*]};

Question: How to use Relational Operators?
  1. -eq: Equal
  2. -ne: Not Equal
  3. -gt: Greater than
  4. -lt: Less than
  5. -ge: Greater than OR Equal to
  6. -le: Less than OR Equal to



Question: How to use Boolean Operators?
  1. !: Not
  2. -o: OR
  3. -a: And



Question: Give an example of while?
a=1
while [ $a -lt 10 ]
do
   echo $a
   if [ $a -eq 5 ]
   then
      break
   fi
   a=`expr $a + 1`
done



Question: What is Substitution?
The shell performs substitution when it encounters an expression that contains one or more special characters.


Question: Give few example of Variable Substitution?
Variable substitution enables the shell programmer to manipulate the value of a variable based on its state.
Examples
${var}

${var:-word}
If var is null, word is substituted for var.
${var:=word}
If var is null, var is set to the value of word.
${var:?message}
If var is null, message is printed to standard error.
${var:+word}
If var is set, word is substituted for var.


Question: What are the Metacharacters?
metacharacters have special meaning while using them in any Shell Script and causes termination of a word unless quoted.


Following are the meta characters.
    
        * ? [ ] ' " \ $ ;  ( ) | ^ 
    



Wednesday, 23 August 2017

Unix Shell Scripting Tutorial - page 1

Unix Shell Scripting Tutorial - Step 1

Question: How to create file shell script file?
echo "Hello World? How are you all?";



Question: How to make a file executable?
chmod a+rx script1.sh



Question: How to run execute file?
Just with name, you can execute.
script1.sh



Question: How to add comment in shell script files?
Use hash(#) before the line for comment.
chmod a+rx script1.sh



Question: How to use variable in shell script file?
name="Manoj"
echo "My Name is : $name"



Question: What is variable convention?
The name of a variable can contain only letters (a to z or A to Z), numbers ( 0 to 9) or the underscore character ( _).


Question: How to define read only variable?
readonly version="10.2"
echo "Version is : $version"



Question: How to unset variable?
name="Manoj"
unset name;



Question: What are different type of variable?
  1. Local Variables: A local variable is a variable that is present within the current instance of the shell.
  2. Environment Variables: An environment variable is available to any child process of the shell. Some programs need environment variables in order to function correctly.
  3. Shell Variables: A shell variable is a special variable that is set by the shell.



Question: How to use Escape Characters?
Use slash \ for Escape the character;

echo "Hello \"User\""; // Hello "User"
echo "Slash \\" ;// Slash \



Question: How to use expression in shell script file?
Use expr enclosed with caret (~), For Example
myvar=10;
result=`expr 10 * 5`
echo "Multiple: $result";

myvar=10;
result=`expr 10 + 5`
echo "Additon: $result";

myvar=10;
result=`expr 10 -5`
echo "Subtract: $result";

Question: How to use loop?
for i in 1 2 3 4 5
do
  echo "Number $i"
done



Question: How to use if else condition?
if [ 2 = 3 ]
then
  echo "Both are equal"
else
  echo "Both are not equal"
fi



Question: How to use if else elseif condition?
if [ 2 = 3 ]
then
  echo "Both are equal"
elseif [ 2 > 3 ]
  echo "2 is greater than 3"
  else
  echo "2 is less than 3"
fi



Question: How to read from user?
echo "What is your name?"
read name
echo "Your name is $name"


Question: How to search a folder with name?
find ~ -type d -name "*foldername*" -print