Linux Essentials Chapter 9 Exam Answer
Question ID 117
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
Question ID 118
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
Question ID 119
Which are appropriate editors for writing shell scripts?
- LibreOffice Writer
Question ID 120
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
Question ID 121
What does this shell script do?
if [ ! –d $FOO ]; then
- 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
Question ID 123
Which of the following are correct about for and while loops?
- 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
Question ID 124
Given the following part of a script:
if [ -f $1 ]; then
echo “I am here”
- 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
Question ID 125
Given the following script that is run through ./test.sh hello goodbye
if [ -f $2 ]; then
echo “I am here”
- 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
Question ID 126
What is the correct way to assign the word “Hello” to a variable?
- echo “Hello” > A
- echo $A “Hello”
- A = “Hello”
Question ID 127
What is the correct way to save the current directory to a variable?
- pwd $A
- pwd | $A
Question ID 128
Which shell command accepts input from the user’s keyboard?
Question ID 129
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
Question ID 130
How would you finish your script with an exit code of 42?
- return 42
- exit 42
- break 42
Question ID 131
The if command looks for what exit code to consider a condition to be true?
Question ID 132
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
Question ID 133
Given the following script:
while [ ! –f /tmp/foo ]; do
echo –n “.”
process_data > /tmp/foo
Which of the following are true?
- 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
Question ID 134
A conditional that lets you make multiple comparisons with a pattern is called:
Question ID 135
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
Question ID 136
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