1. The echo command:
- Is used for variable assignment
- Duplicates the input stream to the output stream
- Is used to output text to the console
- Tests a variable for duplication
- Copies variables from one to another
2. A file begins with #!/bin/csh. This means:
- Nothing, this is a comment
- C Shell compatibility mode is enabled
- The operator should not be using /bin/csh
- Running the script will invoke /bin/csh to interpret the rest of the file
- This is a Perl script
3. Which are appropriate editors for writing shell scripts?. (choose two)
- LibreOffice Writer
4. Most of nano’s commands take the form of:
- Control and another character
- Alt and another character
- Mouse clicks
- The F1 through F12 function keys
- Escape followed by another character
5. What does this shell script do?. FOO=/tmp/foo. if [ ! –d $FOO ]; then. mkdir $FOO. fi
- Creates /tmp/foo if it does not exist
- Makes the /tmp/foo directory if a file by that name exists
- Outputs a message to the screen
- Creates /tmp/foo and raises an error if there is a problem
- Nothing, since there is a problem with the conditions in the if statement
6. Which of the following are correct about for and while loops?. (choose two)
- for loops operate over a fixed list of items
- while loops operate over a fix list of items
- for loops have a test each cycle to determine if it should run again
- while loops have a test each cycle to determine if it should run again
- for loops require a variable over which to iterate
7. Given the following part of a script:. if [ -f $1 ]; then. echo “I am here”. fi
- What is the meaning of $1?
- It is a special variable that indicates the exit code of the command before it
- It is the first argument passed to the script
- It is a file called $1
- It is a parameter to –f, indicating the size of the file
- It is a list of files that gets interpolated
8. Given the following script that is run through ./test.sh hello goodbye. if [ -f $2 ]; then. echo “I am here”. fi
- When will “I am here” be printed?
- If there are two files in the current directory
- The script will always print “I am here”
- If a file called “hello” exists in the current directory
- If a file called “goodbye” exists in the current directory
9. What is the correct way to assign the word “Hello” to a variable?
- echo “Hello” > A
- echo $A “Hello”
- A = “Hello”
10. What is the correct way to save the current directory to a variable?
- pwd $A
- pwd | $A
11. Which shell command accepts input from the user’s keyboard?
12. What information is held inside $? ?
- The current process id
- The number of arguments passed to the script
- The current user ID
- The previous command’s exit code
- The name of the command run
13. How would you finish your script with an exit code of 42?
- return 42
- exit 42
- break 42
14. The if command looks for what exit code to consider a condition to be true?
15. The number of users logged in is in a variable called USERS. How would you test to see if 5 users are logged in?
- test –f USERS=5
- test $USERS = 5
- test $USERS,5
- test $USERS –eq 5
- test $USERS –a 5
16. Given the following script:. while [ ! –f /tmp/foo ]; do. echo –n “.”. process_data > /tmp/foo. done. Which of the following are true?. (choose two)
- If a file called /tmp/foo exists, process_data won’t be run
- The screen will fill with dots.
- /tmp/foo will be removed if it exists
- process_data will never be run
- process_data will be called at most once
17. A conditional that lets you make multiple comparisons with a pattern is called:
18. What is the meaning of $(( $i + 1)) ?
- 1 will be added to the i variable
- This will return the value of the next argument to the script
- This runs the command stored in variable i
- If i is 0, the loop will stop
- This will return the value of the first argument to the script
19. How would you write a test that says “if /tmp/foo is a directory or USERS is greater than 5”?
- test –d /tmp/foo | $USERS > 5
- test –f /tmp/foo –o $USERS –ge 5
- test –d /tmp/foo –o $USERS –gt 5
- test /tmp/foo || $USERS > 5
- test /tmp/foo –d –o $USERS -gt 5