Your SlideShare is downloading. ×
0
Week 7Working with the BASH Shell
Objectives Redirect the input and output of a  command Identify and manipulate common shell  environment variables Crea...
Objectives (continued) Describe the purpose and nature of shell  scripts Create and execute basic shell scripts Effecti...
Command Input and Output   BASH shell responsible for:    Providing user interface    Interpreting commands    Manipul...
Command Input and Output(continued) Standard Input (stdin): File descriptor  representing command input Standard Output ...
Command Input and Output(continued)     Figure 7-1: The three common file descriptors                   Linux+ Guide to Li...
Redirection   Redirect stdout and stderr from terminal    screen to a file    Use “>” shell metacharacter    Can redire...
Redirection (continued)   Redirecting stdin to a file:    Use “<“ shell metacharacter   tr command: Replace characters ...
Redirection (continued)      Table 7-1: Common redirection examples                 Linux+ Guide to Linux Certification, 2...
Pipes Send stdout of one command to another  command as stdin Pipe: String of commands connected by  “|” metacharacters ...
Pipes (continued) Figure 7-2: Piping information from one command to another                      Linux+ Guide to Linux Ce...
Pipes (continued)   Can use multiple pipes on command line    Pass information from one command to     another over a se...
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    Outp...
Shell Variables   Variable: A reserved portion of memory    containing accessible information   BASH shell has several v...
Environment Variables set command: Lists environment  variables and current values echo command: View contents a  specif...
Environment Variables(continued)    Table 8-3: Common BASH environment variables                  Linux+ Guide to Linux Ce...
Environment Variables(continued)Table 7-3 (continued): Common BASH environment variables                     Linux+ Guide ...
Environment Variables(continued) Table 7-3 (continued): Common BASH environment variables                     Linux+ Guide...
User-Defined Variables Variable identifier: Name of a variable Creating new variables:    Specify variable identifier f...
User-Defined Variables(continued)   Subshell: Shell created by current shell    Most shell commands run in a subshell   ...
Other Variables   Not displayed by set or env commands    Perform specialized functions in the shell    e.g., UMASK var...
Environment Files When exiting BASH shell, all stored  variables are destroyed Environment files: Store variables and  v...
Environment Files (continued)   Common BASH shell environment files    (in order they are executed):    /etc/profile    ...
Environment Files (continued)   To add a variable, add a line to    environment file    Use command line syntax   Any c...
Shell Scripts   Shell script: Text file containing a list of    commands or constructs for shell to    execute    May co...
Shell Scripts (continued)   Executing shell scripts with read    permission:    Start another BASH shell, specify the sh...
Escape Sequences   Character sequences having special    meaning in the echo command    Prefixed by  character    Must ...
Escape Sequences (continued)     Table 7-4: Common echo escape sequences                 Linux+ Guide to Linux Certificati...
Reading Standard Input   Shell scripts may need input from user    Input may be stored in a variable for later     use ...
Decision Constructs Most common type of construct used in  shell scripts Alter flow of a program:    Based on whether a...
Decision Constructs (continued)       Figure 7-4: A sample decision construct                  Linux+ Guide to Linux Certi...
Decision Constructs (continued)      Figure 7-5: A sample decision construct                 Linux+ Guide to Linux Certifi...
The if Construct Control flow of program based on true/false  decisions Syntax:          Linux+ Guide to Linux Certifica...
The if Construct (continued)   Common rules governing if constructs:    elif (else if) and else statements optional    ...
The if Construct (continued)   test statement: Used to test a condition    Generates a true/false value    Inside of sq...
The if Construct (continued)       Table 7-5: Common test statements               Linux+ Guide to Linux Certification, 2e...
The if Construct (continued)    Table 7-6: Special operators in test statements                   Linux+ Guide to Linux Ce...
The case Construct Compares value of a variable with several  different patterns of text or numbers Syntax:          Lin...
The case Construct (continued) If a match is found, commands to right  of pattern are executed Must end with esac       ...
The && and || Constructs   Time-saving shortcut constructs    When only one decision needs to be made     during executi...
The && and || Constructs(continued) &&: Second command executed only if  first completes successfully ||: Second command...
Summary Three components are available to  commands: Standard Input, Standard  Output, and Standard Error Standard Input...
Summary (continued) Use the pipe symbol to redirect the  Standard Output from one command to  the Standard Input of anoth...
Summary (continued) The UMASK variable and command  aliases are special variables that must  be set using a certain comma...
Upcoming SlideShare
Loading in...5
×

Linux week7

297

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
297
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Linux week7"

  1. 1. Week 7Working with the BASH Shell
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. Command Input and Output(continued) Figure 7-1: The three common file descriptors Linux+ Guide to Linux Certification, 2e 6
  7. 7. 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
  8. 8. 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
  9. 9. Redirection (continued) Table 7-1: Common redirection examples Linux+ Guide to Linux Certification, 2e 9
  10. 10. 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
  11. 11. Pipes (continued) Figure 7-2: Piping information from one command to another Linux+ Guide to Linux Certification, 2e 11
  12. 12. 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
  13. 13. Pipes (continued) Figure 7-3: Piping several commands Linux+ Guide to Linux Certification, 2e 13
  14. 14. Pipes (continued) Linux+ Guide to Linux Certification, 2e 14
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. Environment Variables(continued) Table 8-3: Common BASH environment variables Linux+ Guide to Linux Certification, 2e 18
  19. 19. Environment Variables(continued)Table 7-3 (continued): Common BASH environment variables Linux+ Guide to Linux Certification, 2e 19
  20. 20. Environment Variables(continued) Table 7-3 (continued): Common BASH environment variables Linux+ Guide to Linux Certification, 2e 20
  21. 21. 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
  22. 22. 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
  23. 23. 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
  24. 24. 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
  25. 25. 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
  26. 26. 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
  27. 27. 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
  28. 28. 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
  29. 29. 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
  30. 30. Escape Sequences (continued) Table 7-4: Common echo escape sequences Linux+ Guide to Linux Certification, 2e 30
  31. 31. 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
  32. 32. 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
  33. 33. Decision Constructs (continued) Figure 7-4: A sample decision construct Linux+ Guide to Linux Certification, 2e 33
  34. 34. Decision Constructs (continued) Figure 7-5: A sample decision construct Linux+ Guide to Linux Certification, 2e 34
  35. 35. The if Construct Control flow of program based on true/false decisions Syntax: Linux+ Guide to Linux Certification, 2e 35
  36. 36. 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
  37. 37. 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
  38. 38. The if Construct (continued) Table 7-5: Common test statements Linux+ Guide to Linux Certification, 2e 38
  39. 39. The if Construct (continued) Table 7-6: Special operators in test statements Linux+ Guide to Linux Certification, 2e 39
  40. 40. The case Construct Compares value of a variable with several different patterns of text or numbers Syntax: Linux+ Guide to Linux Certification, 2e 40
  41. 41. 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
  42. 42. 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
  43. 43. 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
  44. 44. 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
  45. 45. 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
  46. 46. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×