Chapter 11 Exam Flashcards

1
Q

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

This is a Perl script

The operator should not be using /bin/csh

C Shell compatibility mode is enabled

Running the script will invoke /bin/csh to interpret the rest of the file

Nothing, this is a comment

A

Running the script will invoke /bin/csh to interpret the rest of the file

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Which are appropriate editors for writing shell scripts?
(choose two)

Firefox
/bin/bash
LibreOffice Writer
vi
nano
A

vi

nano

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Most of nano’s commands take the form of:

Mouse clicks
Escape followed by another character
Control and another character
The F1 through F12 function keys
Alt and another character
A

Control and another character

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does this shell script do?

FOO=/tmp/foo
if [ ! –d $FOO ]; then
mkdir $FOO
fi

Creates /tmp/foo if it does not exist
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
Makes the /tmp/foo directory if a file by that name exists

A

Creates /tmp/foo if it does not exist

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Which of the following are correct about for and while loops?
(choose two)

for loops have a test each cycle to determine if it should run again

for loops operate over a fixed list of items

for loops require a variable over which to iterate

while loops operate over a fixed list of items

while loops have a test each cycle to determine if it should run again

A

for loops operate over a fixed list of items

while loops have a test each cycle to determine if it should run again

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

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 parameter to -f, indicating the size of the file

It is the first argument passed to the script

It is a special variable that indicates the exit code of the command before it

It is a file called $1

It is a list of files that gets interpolated

A

It is the first argument passed to the script

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

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 a file called “goodbye” exists in the current directory

Never

The script will always print “I am here”

If there are two files in the current directory

If a file called “hello” exists in the current directory

A

If a file called “goodbye” exists in the current directory

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

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”
A

A=”Hello”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the correct way to save the current directory to a variable?

A=`pwd`
pwd | $A
A=cwd
A=pwd
pwd $A
A

A=pwd

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Which shell command accepts input from the user’s keyboard?

echo
read
gets
input
$1
A

read

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What information is held inside $? ?

The name of the command run
The previous command’s exit code
The number of arguments passed to the script
The current process id
The current user ID
A

The previous command’s exit code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How would you finish your script with an exit code of 42?

return 42
break 42
CODE=42
exit 42
$?=42
A

exit 42

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

The if command looks for what exit code to consider a condition to be true?

1
0
2
10
255
A

0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

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 $USERS –eq 5
test –f USERS=5
test $USERS = 5
test $USERS,5
test $USERS –a 5
A

test $USERS –eq 5

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
Given the following script:
while [ ! –f /tmp/foo ]; do
    echo –n “.”
    process_data > /tmp/foo
done

Which of the following are true?
(choose two)

The screen will fill with dots.

If a file called /tmp/foo exists, process_data won’t be run

process_data will be called at most once

process_data will never be run

/tmp/foo will be removed if it exists

A

If a file called /tmp/foo exists, process_data won’t be run

process_data will be called at most once

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

A conditional that lets you make multiple comparisons with a pattern is called:

fanout
case
if
branch
test
A

case

17
Q

What is the meaning of $(( $i + 1)) ?

1 will be added to the i variable

If i is 0, the loop will stop

This will return the value of the next argument to the script

This will return the value of the first argument to the script

This runs the command stored in variable i

A

1 will be added to the i variable

18
Q

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 –d /tmp/foo | $USERS > 5
test /tmp/foo || $USERS > 5
test /tmp/foo –d –o $USERS -gt 5

A

test –d /tmp/foo –o $USERS –gt 5