• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Linux week7
 

Linux week7

on

  • 351 views

 

Statistics

Views

Total Views
351
Views on SlideShare
351
Embed Views
0

Actions

Likes
1
Downloads
8
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Linux week7 Linux week7 Presentation Transcript

    • Week 7Working with the BASH Shell
    • Objectives Redirect the input and output of a command Identify and manipulate common shell environment variables Create and export new shell variables Edit environment files to create variables upon shell startup Linux+ Guide to Linux Certification, 2e 2
    • Objectives (continued) Describe the purpose and nature of shell scripts Create and execute basic shell scripts Effectively use common decision constructs in shell scripts Linux+ Guide to Linux Certification, 2e 3
    • Command Input and Output BASH shell responsible for: Providing user interface Interpreting commands Manipulating command input and output ○ Provided user specifies certain shell metacharacters with command File descriptors: Numeric labels that define command input and command output Linux+ Guide to Linux Certification, 2e 4
    • Command Input and Output(continued) Standard Input (stdin): File descriptor representing command input Standard Output (stdout): File descriptor representing command output Standard Error (stderror): File descriptor representing command error messages Linux+ Guide to Linux Certification, 2e 5
    • Command Input and Output(continued) Figure 7-1: The three common file descriptors Linux+ Guide to Linux Certification, 2e 6
    • Redirection Redirect stdout and stderr from terminal screen to a file Use “>” shell metacharacter Can redirect stdout and stderr to separate files Use separate filenames for stdout and stderr Linux+ Guide to Linux Certification, 2e 7
    • Redirection (continued) Redirecting stdin to a file: Use “<“ shell metacharacter tr command: Replace characters in a file sent via stdin Linux+ Guide to Linux Certification, 2e 8
    • Redirection (continued) Table 7-1: Common redirection examples Linux+ Guide to Linux Certification, 2e 9
    • Pipes Send stdout of one command to another command as stdin Pipe: String of commands connected by “|” metacharacters stdout on left, stdin on right Commonly used to reduce amount of information displayed on terminal screen Linux+ Guide to Linux Certification, 2e 10
    • Pipes (continued) Figure 7-2: Piping information from one command to another Linux+ Guide to Linux Certification, 2e 11
    • Pipes (continued) Can use multiple pipes on command line Pass information from one command to another over a series of commands filter commands: Commands that can take from stdin and give to stdout Can be on either side of a pipe tee commands: Filter commands that also send information to a file Linux+ Guide to Linux Certification, 2e 12
    • Pipes (continued) Figure 7-3: Piping several commands Linux+ Guide to Linux Certification, 2e 13
    • Pipes (continued) Linux+ Guide to Linux Certification, 2e 14
    • Pipes (continued) Can combine redirection and piping Input redirection must occur at beginning of pipe Output redirection must occur at end of pipe sed filter command: Search for and replace text strings awk filter command: Search for text and perform specified action on it Linux+ Guide to Linux Certification, 2e 15
    • Shell Variables Variable: A reserved portion of memory containing accessible information BASH shell has several variables in memory Environment variables: Contain information that system and programs access regularly User-defined variables: Custom variables define by users Special variables Useful when executing commands and creating new files and directories Linux+ Guide to Linux Certification, 2e 16
    • Environment Variables set command: Lists environment variables and current values echo command: View contents a specified variable Use $ shell metacharacter Changing value of a variable: Specify variable name followed by equal sign (=) and new value Linux+ Guide to Linux Certification, 2e 17
    • Environment Variables(continued) Table 8-3: Common BASH environment variables Linux+ Guide to Linux Certification, 2e 18
    • Environment Variables(continued)Table 7-3 (continued): Common BASH environment variables Linux+ Guide to Linux Certification, 2e 19
    • Environment Variables(continued) Table 7-3 (continued): Common BASH environment variables Linux+ Guide to Linux Certification, 2e 20
    • User-Defined Variables Variable identifier: Name of a variable Creating new variables: Specify variable identifier followed by equal sign and the new contents Features of variable identifiers: Can contain alphanumeric characters, dash characters, or underscore characters Must not start with a number Typically capitalized to follow convention Linux+ Guide to Linux Certification, 2e 21
    • User-Defined Variables(continued) Subshell: Shell created by current shell Most shell commands run in a subshell Variables created in current shell are not available to subshells export command: Exports user-defined variables to subshells Ensures that programs started by current shell have access to variables env command: Lists all exported environment and user-defined variables in a shell Linux+ Guide to Linux Certification, 2e 22
    • Other Variables Not displayed by set or env commands Perform specialized functions in the shell e.g., UMASK variable alias command: Creates shortcuts to commands Use unique alias names Aliases stored in special variables Can create single alias to multiple commands ○ Use ; metacharacter Linux+ Guide to Linux Certification, 2e 23
    • Environment Files When exiting BASH shell, all stored variables are destroyed Environment files: Store variables and values Executed each time BASH shell is started Ensures variables are always accessible Linux+ Guide to Linux Certification, 2e 24
    • Environment Files (continued) Common BASH shell environment files (in order they are executed): /etc/profile ~/.bash_profile ~/.bash_login ~/.profile Hidden environment files allow users to set customized variables Linux+ Guide to Linux Certification, 2e 25
    • Environment Files (continued) To add a variable, add a line to environment file Use command line syntax Any command can be placed inside any environment file e.g., alias creation .bashrc (BASH run-time configuration): First hidden environment file executed at login Linux+ Guide to Linux Certification, 2e 26
    • Shell Scripts Shell script: Text file containing a list of commands or constructs for shell to execute May contain any command that can be entered on command line Hashpling: First line in a shell script Defines which shell is used to interpret shell script commands Linux+ Guide to Linux Certification, 2e 27
    • Shell Scripts (continued) Executing shell scripts with read permission: Start another BASH shell, specify the shell script as an argument Executing shell scripts with read/write permission: Executed like any executable program Linux+ Guide to Linux Certification, 2e 28
    • Escape Sequences Character sequences having special meaning in the echo command Prefixed by character Must use –e option in echo command Linux+ Guide to Linux Certification, 2e 29
    • Escape Sequences (continued) Table 7-4: Common echo escape sequences Linux+ Guide to Linux Certification, 2e 30
    • Reading Standard Input Shell scripts may need input from user Input may be stored in a variable for later use read command: Takes user input from stdin Places in a variable specified by an argument to read command Linux+ Guide to Linux Certification, 2e 31
    • Decision Constructs Most common type of construct used in shell scripts Alter flow of a program: Based on whether a command completed successfully Based on user input Linux+ Guide to Linux Certification, 2e 32
    • Decision Constructs (continued) Figure 7-4: A sample decision construct Linux+ Guide to Linux Certification, 2e 33
    • Decision Constructs (continued) Figure 7-5: A sample decision construct Linux+ Guide to Linux Certification, 2e 34
    • The if Construct Control flow of program based on true/false decisions Syntax: Linux+ Guide to Linux Certification, 2e 35
    • The if Construct (continued) Common rules governing if constructs: elif (else if) and else statements optional Unlimited number of elif statements do these commands section may consist of multiple commands ○ One per line do these commands section typically indented for readability End of statement must be “if” this is true may be a command or test statement Linux+ Guide to Linux Certification, 2e 36
    • The if Construct (continued) test statement: Used to test a condition Generates a true/false value Inside of square brackets ( [ … ] ) ○ Must have spaces after “[” and before “]” Special comparison operators: –o (OR) –a (AND) ! (NOT) Linux+ Guide to Linux Certification, 2e 37
    • The if Construct (continued) Table 7-5: Common test statements Linux+ Guide to Linux Certification, 2e 38
    • The if Construct (continued) Table 7-6: Special operators in test statements Linux+ Guide to Linux Certification, 2e 39
    • The case Construct Compares value of a variable with several different patterns of text or numbers Syntax: Linux+ Guide to Linux Certification, 2e 40
    • The case Construct (continued) If a match is found, commands to right of pattern are executed Must end with esac Linux+ Guide to Linux Certification, 2e 41
    • The && and || Constructs Time-saving shortcut constructs When only one decision needs to be made during execution Syntax: command && command command || command Linux+ Guide to Linux Certification, 2e 42
    • The && and || Constructs(continued) &&: Second command executed only if first completes successfully ||: Second command executed only if first fails Linux+ Guide to Linux Certification, 2e 43
    • Summary Three components are available to commands: Standard Input, Standard Output, and Standard Error Standard Input is typically user input taken from the keyboard; Standard Output and Standard Error are sent to the terminal screen You can redirect the Standard Output and Standard Error of a command to a file using redirection symbols Linux+ Guide to Linux Certification, 2e 44
    • Summary (continued) Use the pipe symbol to redirect the Standard Output from one command to the Standard Input of another Most variables available to the BASH shell are environment variables that are loaded into memory after login from environment files You can create your own variables in the BASH shell and export them so that they are available to programs started by the shell Linux+ Guide to Linux Certification, 2e 45
    • Summary (continued) The UMASK variable and command aliases are special variables that must be set using a certain command Shell scripts can be used to execute several Linux commands Decision constructs can be used in shell scripts to execute certain Linux commands based on user input or the results of a certain command Linux+ Guide to Linux Certification, 2e 46