Tuesday, November 16, 2010

Basic shell scripting questions

Tuesday, November 16, 2010
1. How do you find out what’s your shell? – echo $SHELL


2. What’s the command to find out today’s date? – date

3. What’s the command to find out users on the system? – who

4. How do you find out the current directory you’re in? – pwd

5. How do you remove a file? – rm

6. How do you remove a – rm -rf

7. How do you find out your own username? – whoami

8. How do you send a mail message to somebody? – mail somebody@techinterviews.com -s ‘Your subject’ -c ‘cc@techinterviews.com

9. How do you count words, lines and characters in a file? – wc

10. How do you search for a string inside a given file? – grep string filename

11. How do you search for a string inside a directory? – grep string *

12. How do you search for a string in a directory with the subdirectories recursed? – grep -r string *

13. What are PIDs? – They are process IDs given to processes. A PID can vary from 0 to 65535.

14. How do you list currently running process? – ps

15. How do you stop a process? – kill pid

16. How do you find out about all running processes? – ps -ag

17. How do you stop all the processes, except the shell window? – kill 0

18. How do you fire a process in the background? – ./process-name &

19. How do you refer to the arguments passed to a shell script? – $1, $2 and so on. $0 is your script name.

20. What’s the conditional statement in shell scripting? – if {condition} then … fi

21. How do you do number comparison in shell scripts? – -eq, -ne, -lt, -le, -gt, -ge

22. How do you test for file properties in shell scripts? – -s filename tells you if the file is not empty, -f filename tells you whether the argument is a file, and not a directory, -d filename tests if the argument is a directory, and not a file, -w filename tests for writeability, -r filename tests for readability, -x filename tests for executability

23. How do you do Boolean logic operators in shell scripting? – ! tests for logical not, -a tests for logical and, and -o tests for logical or.

24. How do you find out the number of arguments passed to the shell script? – $#

25. What’s a way to do multilevel if-else’s in shell scripting? – if {condition} then {statement} elif {condition} {statement} fi

26. How do you write a for loop in shell? – for {variable name} in {list} do {statement} done

27. How do you write a while loop in shell? – while {condition} do {statement} done

28. How does a case statement look in shell scripts? – case {variable} in {possible-value-1}) {statement};; {possible-value-2}) {statement};; esac

29. How do you read keyboard input in shell scripts? – read {variable-name}

30. How do you define a function in a shell script? – function-name() { #some code here return }

31. How does getopts command work? – The parameters to your script can be passed as -n 15 -x 20. Inside the script, you can iterate through the getopts array as while getopts n:x option, and the variable $option contains the value of the entered option.

19 comments