Basic Scripting M11 Exam

  1. A file begins with #!/bin/csh. This means:

    • Nothing, this is a comment
    • Running the script will invoke /bin/csh  to interpret the rest of the file
    • The operator should not be using /bin/csh
    • This is a Perl script
    • C Shell compatibility mode is enabled
  2. Which are appropriate editors for writing shell scripts?(choose two)

    • Firefox
    • /bin/bash
    • LibreOffice Writer
    • vi
    • nano
  3. Most of nano’s commands take the form of:

    • Control and another character
    • Alt and another character
    • Mouse clicks
    • Escape followed by another character
    • The F1 through F12 function keys
  4. What does this shell script do?

    FOO= /tmp/ foo
    if [   !  -d  $FOO   ] ;  then
    mkd ir $FOO
    f i
    • Creates /tmp/foo if it does not exist
    • Makes the /tmp/foo directory if a file by that name exists
    • 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
    • Outputs a message to the screen
  5. Which of the following are correct about for and while loops?​(choose two)

    • while loops have a test each cycle to determine if it should run again
    • for loops have a test each cycle to determine if it should run again
    • while loops operate over a fixed list of items
    • for loops require a variable over which to iterate
    • for loops operate over a fixed list of items
  6. 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 list of files that gets interpolated
    • It is a file called $1
    • It is a special variable that indicates the exit code of the command before it
    • It is a parameter to -f, indicating the size of the file
    • It is the first argument passed to the script
  7. 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?

    • The script will always print “I am here”
    • If a file called “goodbye” exists in the current directory
    • Never
    • If there are two files in the current directory
    • If a file called “hello” exists in the current directory
  8. What is the correct way to assign the word “Hello” to a variable?

    • A = “Hello”
    • echo “Hello” > A
    • echo $A “Hello”
    • $A=”Hello”
    • A=”Hello”
  9. What is the correct way to save the current directory to a variable?

    • A=cwd
    • pwd $A
    • pwd | $A
    • A=pwd
    • A=`pwd`
  10. Which shell command accepts input from the user’s keyboard?

    • $1
    • echo
    • read
    • gets
    • input
  11. What information is held inside $? ?

    • The name of the command run
    • The previous command’s exit code
    • The current process ID
    • The current user ID
    • The number of arguments passed to the script
  12. How would you finish your script with an exit code of 42?

    • return 42
    • break 42
    • CODE=42
    • $?=42
    • exit 42
  13. The if command looks for what exit code to consider a condition to be true?

    • 1
    • 2
    • 0
    • 255
    • 10
  14. The number of users logged in is in a variable called USERS. How would you test to see if there are 5 users logged in?

    • test $USERS –a 5
    • test $USERS,5
    • test $USERS = 5
    • test $USERS –eq 5
    • test –f USERS=5
  15. Given the following script:

    whil e [ ! -f /tmp/ f oo ] ; do
         echo -n  "."
         p r oce ss_data > / tmp/ f oo
    done

    Which of the following are true?(choose two)

    • The screen will fill with dots.
    • process_data will be called at most once
    • If a file called /tmp/foo exists, process_data won’t be run
    • /tmp/foo will be removed if it exists
    • process_data will never be run
  16. A conditional that lets you make multiple comparisons with a pattern is called:

    • if
    • test
    • fanout
    • case
    • branch
  17. What is the meaning of $(( $i + 1)) ?

    • This will return the value of the next argument to the script
    • This runs the command stored in variable i
    • Ifi is 0, the loop will stop
    • This will return the value of the first argument to the script
    • 1 will be added to the i variable
  18. How would you write a test that says “if /tmp/foo is a directory or USERS is greater than 5″?

    • test –d /tmp/foo –o $USERS –gt 5
    • test /tmp/foo || $USERS > 5
    • test –d /tmp/foo | $USERS > 5
    • test /tmp/foo –d –o $USERS -gt 5
Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments