13,420
edits
Changes
no edit summary
|- valign="top"
|
{{Admon/note|Bash Shell Scripting Reference Guide:|<br>'''<u>She-bang Line</u>'''<ul><li>Forces shell script to run in a specific Shell</li><li>Some shell syntax not backward compatible</li><li>'''#!''' must be at beginning of first line of shell script</li><li>Example: '''#!/bin/bash'''<br><br></li></ul>'''<u>Variables</u>'''<br><blockquote>'''Environment'''<ul><li>System-wide or "global" variable</li><li>Usually appear in UPPERCASE letters</li><li>Can view with command: '''set | more'''</li><li>'''$''' in front to expand variable to value<li>Examples: '''USER''', '''PATH''', '''HOME''', '''SHELL'''<br></li></ul></blockquote><blockquote>'''User-defined''' <ul><li>Variable created by user (command line, scripting)</li><li>Examples:<br>''myVar="my value"; readonly myVar; export myVar''<br>''read -p "enter value: " myVar''<br></li></ul></blockquote><blockquote>'''Positional parameters'''<ul><li>Assign values with set command or shell script arguments</li><li>These variables are numbered (eg. $1, $2 ... $10}</li><li>Special parameters: $*, $@, $#, $$, $?<br></li></ul></blockquote>'''<u>Command Substitution</u>'''<ul><li>Useful method to expand output from a command to be used as an argument for another command.</li><li>Examples:<br>''file $(ls)''<br>''set $(ls);echo $#;echo $*''<br>''echo "hostname: $(hostname)"''<br><br></li></ul>'''<u>Logic Control Flow Statements</u>'''<ul><li>'''$?''' variable true (0) if command runs; otherwise is false (non-zero)</li>Example:<br>''if echo $myVar | grep "match"''<br>''then''<br>''echo "Match"''<br>''fi''<br></li><li>The '''test''' command is used to test conditions. Square brackets '''[ ]''' is short-cut for test command (args contained inside with spaces). The '''exit''' command can be used to terminate the shell script with a false value.<br>Example:<br>''if [ $USER = "root" ]''<br>''then''<br> ''echo "You must be root" ''<br> ''exit1''<br>''fi''<br></li><li>For numberic comparison, use the following '''test options''':<br> '''-gt''','''-ge''', '''-lt''', '''-le''', '''-eq''', '''-ne'''<br>Examples:<br>''if test $age -gt 65 ''<br>''then''<br> ''echo "retire"''<br>''else''<br> ''echo "don't retire"''<br>''fi''<br><br>''if [ $grade -gt 79 ]''<br>''then''<br> ''echo "You get Good Mark"''<br>''elif [ $grade -gt 49 ]''<br>''then''<br> ''echo "You pass"''<br>''else''<br> ''echo "You fail"''<br>''fi''<br></li></ul>}}
|}
# Study the Linux commands and their purpose to note computer software information for your installed centos1 VM. You should take time to issue each of these commands to view the output, and record this chart in your lab1 logbook.<br><br>
# Login to your centos1 VM, open a Bash Shell terminal, and login as root by issuing the command:<br>
<b><code><span style="color:#3366CC;font-size:1.2em;">su -</span></code></b><br><br>
# Make certain to record output from these commands (except for the '''ps -ef''' output) in your lab1 logbook.
:You may have learned about creating and running Bash Shell Scripts in your ULI101 course. Shell scripts help Linux users and system administrators to automate repetitive tasks to become more efficient and to help them save time. You will be reviewing and building a basic Bash Shell script to generate information reports for your newly-installed Linux host machine. Take time to view Shell Scripting Tips which are located on the right-hand side.
<ol><li value="3">Refer to the Bash Shell Scripting Guide prior to proceeding with this section. As you continue, you are required to make Bash Shell scripting notes in your lab1 logbook.</li><li>Make certain to log out of remain in your '''root ''' account and remain as that you are currently located in the directory: /root (i.e. root's home directory).</li><li>Create a regular userdirectory called bin in your root home directory to store your shell scripts by issuing the command:<br><b><code><span style="color:#3366CC;font-size:1.2em;">mkdir ~/bin</span></code></b></li><li>Change to that newly-created '''bin''' directory</li></li><li>Open a Shell terminal and use a text editor (such as <b><code><span style="color:#3366CC;font-size:1.2em;">vi</span></code></b> or <b><code><span style="color:#3366CC;font-size:1.2em;">nano</span></code></b>) to create a Bash Shell script called: <b><code><span style="color:#3366CC;font-size:1.2em;">myreport.bash</span></code></b> in your current directory.</li>
<li>Copy and paste the text below into your vi editing session for your file report.bash<br> (how do you copy and paste efficiently in Linux?)<br></li></ol>