Free LPI 102-500 Exam Questions (page: 2)

What output will the following command sequence produce?

echo '1 2 3 4 5 6' | while read a b c; do echo result: $c $b $a;

done

  1. result: 3 4 5 6 2 1
  2. result: 1 2 3 4 5 6
  3. result: 6 5 4
  4. result: 6 5 4 3 2 1
  5. result: 3 2 1

Answer(s): E

Explanation:

The while loop reads a line from the standard input and splits it into words using the IFS variable, which by default contains spaces, tabs, and newlines. The read command assigns the first word to the variable a, the second word to the variable b, and the rest of the line to the variable c. Therefore, in this case, a=1, b=2, and c=3 4 5 6. The echo command prints the values of c, b, and a in reverse order, separated by spaces. The output is result: 3 2 1. The loop terminates after reading the first line, since there is no more input to read.


Reference:

Bash while Loop | Linuxize, Bash Scripting - While Loop - GeeksforGeeks



When the command echo $ outputs 1, which of the following statements is true?

  1. It is the process ID of the echo command.
  2. It is the process ID of the current shell.
  3. It is the exit value of the command executed immediately before echo.
  4. It is the exit value of the echo command.

Answer(s): C

Explanation:

The $? variable in bash is a special parameter that holds the exit status of the last command executed in the current shell. The exit status is a numerical value that indicates whether the command was successful (zero) or failed (non-zero). The echo command simply prints its arguments to the standard output. Therefore, when the command echo $? outputs 1, it means that the previous command failed with an exit status of 1.


Reference:

[LPI Linux Essentials - Topic 103: Command Line Basics]
[Bash Special Parameters]
[Exit status - Wikipedia]



Which command makes the shell variable named VARIABLE visible to subshells?

  1. export $VARIABLE
  2. export VARIABLE
  3. set $VARIABLE
  4. set VARIABLE
  5. env VARIABLE

Answer(s): B

Explanation:

The export command makes the shell variable named VARIABLE visible to subshells. This means that any child process that is spawned from the current shell will inherit the value of VARIABLE. The export command does not need a dollar sign ($) before the variable name, as that would expand the variable to its value. The set command only affects the current shell and does not export the variable to subshells. The env command can be used to run a command in a modified environment, but it does not export the variable to subshells either.


Reference:

[LPI Linux Essentials - Topic 105: Shells, Scripting and Data Management] [LPI Linux Administrator - Exam 102 Objectives - Topic 105: Shells and Shell Scripting]



What output will the command seq 10 produce?

  1. A continuous stream of numbers increasing in increments of 10 until stopped.
  2. The numbers 1 through 10 with one number per line.
  3. The numbers 0 through 9 with one number per line.
  4. The number 10 to standard output.

Answer(s): B

Explanation:

The seq command in Linux is used to print a sequence of numbers, which can be piped to other commands or used in for loops and bash scripts1. The command can generate a list of integers or real numbers, with options to control the start, end, and increment of the sequence. The general syntax of the command is seq [options] specification1.
If you launch seq with a single number as a command-line parameter, it counts from one to that number. It then prints the numbers in the terminal window, one number per line2. For example, seq 10 will produce the following output:
Therefore, the correct answer is B. The numbers 1 through 10 with one number per line.


Reference:

1: 10+ Seq Commands with Examples in Linux ­ LinuxWizardry
2: How to Use the seq Command on Linux - How-To Geek



By default, the contents of which directory will be copied to a new user's home directory when the account is created by passing the -m option to the useradd command? (Specify the full path to the directory.)

  1. /etc/skel

Answer(s): A

Explanation:

The /etc/skel directory contains files and directories that are used as a template for creating a new user's home directory. The useradd command uses the -m (or --create-home) option to create the user home directory as /home/username and copy the files from /etc/skel to it. The files in /etc/skel are typically initialization files such as .bashrc, .profile, and .bash_logout that set the user's environment variables, aliases, and other preferences. The system administrator can customize the /etc/skel directory to provide a consistent and convenient initial setup for new users.


Reference:

https://www.howtouselinux.com/post/create-new-user-with-home-directory-in-linux https://linuxize.com/post/how-to-create-users-in-linux-using-the-useradd-command/



After issuing:

function myfunction { echo $1 $2 ; }

in Bash, which output does:

myfunction A B C

Produce?

  1. A B
  2. A B C
  3. A C
  4. B C
  5. C B A

Answer(s): A

Explanation:

In Bash, a function is a block of code that can be invoked by its name. A function can take arguments, which are passed to the function as positional parameters. The $1 variable refers to the first argument, $2 to the second argument, and so on. The function can access the number of arguments passed to it by using the $# variable. In this case, the function myfunction simply echoes the first and second arguments to the standard output. Therefore, when the command myfunction A B C is executed, the output is A B, since the third argument C is ignored by the function.


Reference:

[LPI Linux Essentials - Topic 103: Command Line Basics]
[Bash Functions]



Which of the following commands puts the output of the command date into the shell variable mydate?

  1. mydate="$(date)"
  2. mydate="exec date"
  3. mydate="$((date))"
  4. mydate="date"
  5. mydate="${date}"

Answer(s): A

Explanation:

(date)" Comprehensive Thecorrectwaytoputtheoutputofthecommanddateintotheshellvariablemy dateistousecommandsubstitutionwiththesyntax(command). This will execute the command in a subshell and replace the expression with its standard output. The double quotes around the expression will prevent word splitting and globbing of the output. The other options are incorrect because they will either assign a literal string to the variable, use an invalid syntax, or try to execute the command as an arithmetic expression.


Reference:

[LPI Linux Essentials - Topic 105: Shells, Scripting and Data Management] [LPI Linux Administrator - Exam 102 Objectives - Topic 105: Shells and Shell Scripting]



Which of the following files, when existing, affect the behavior of the Bash shell? (Choose TWO correct answers.)

  1. ~/.bashconf
  2. ~/.bashrc
  3. ~/.bashdefaults
  4. ~/.bash_etc
  5. ~/.bash_profile

Answer(s): B,E

Explanation:

The Bash shell can be configured by various files that affect its behavior, such as setting environment variables, aliases, functions, options, and prompts. Some of these files are global, meaning they apply to all users of the system, and some are local, meaning they apply to individual users. The global files are usually located in the /etc directory, while the local files are usually located in the user's home directory, which is denoted by the tilde (~) symbol1.
The local files that affect the Bash shell are:
~/.bash_profile: This file is executed when a user logs in to the system. It is used to set up the user's environment, such as the PATH, the default editor, the umask, and other variables. It can also run commands that are needed only once per login session, such as ssh-agent or fortune. This file can also source other files, such as ~/.bashrc, to inherit their settings12. ~/.bashrc: This file is executed when a user starts a new interactive shell, such as opening a terminal window or running a script with the shebang #!/bin/bash. It is used to set up the user's shell preferences, such as aliases, functions, options, and prompts. It can also source other files, such as /etc/bashrc, to inherit their settings12.
~/.bash_logout: This file is executed when a user logs out of the system. It is used to perform any cleanup tasks, such as clearing the screen, deleting temporary files, or printing a farewell message1. The other files listed in the question are not valid Bash configuration files and do not affect the behavior of the shell. Therefore, the correct answer is B. ~/.bashrc and E. ~/.bash_profile.


Reference:

1: Bash Shell Configuration Files - Land of Linux
2: Bash Startup Files - GNU Project






Post your Comments and Discuss LPI 102-500 exam prep with other Community members:

102-500 Exam Discussions & Posts