Bài 3: Objectives

Chia sẻ: Thanh Thanh | Ngày: | Loại File: PPT | Số trang:34

lượt xem

Bài 3: Objectives

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

In this lesson, you will learn to: • Define the role and features of the Linux shell • Use the shell as a command interpreter • Create userdefined variables • Use shell environment variables • Create shell scripts in Linux Define the role and features of the Linux shell  Use the shell as a command interpreter  Create user­defined variables  Use shell environment variables 

Chủ đề:

Nội dung Text: Bài 3: Objectives

  1. Objectives In this lesson, you will learn to: • Define the role and features of the Linux shell  • Use the shell as a command interpreter  • Create user­defined variables  • Use shell environment variables  • Create shell scripts in Linux 
  2. Introduction to the Shell • A shell: • Is a utility program with the  Linux system that serves as  an interface between the  user and the kernel  • Plays an important role of  command interpretation for  the kernel • The adjacent figure shows the  architecture of the Linux operating  system.
  3. Features of a Shell • The shell has the following features: • Interactive processing  • Background processing  • Input/output redirection  • Pipes  • Shell scripts  • Shell variables  • Programming language constructs  • Command history • Job control • File name completion  • Command completion 
  4. Shell as a Command Interpreter • The shell: • Reads the command • Locates the file in the directories containing utilities • Loads the utility into memory • Executes the utility 
  5. Shell as a Command Interpreter (Contd.) The shell creates a child shell for the execution of a utility The shell requests the kernel for any hardware interaction   
  6. Unix Shells  • Some of the popular Unix Shells are: • Bourne Shell: sh is the executable filename for this shell  • C Shell: csh is the executable filename for this shell • Korn Shell: The executable filename is ksh • Restricted Shell: Is typically used for guest logins
  7. Linux Shells • Some of the popular shells available in Linux are: • Bash: • Is an acronym for ‘Bourne Again Shell’ and is the default shell for most Linux  systems  • Uses the symbolic link sh • Tcsh: • Is an acronym for ‘Tom’s C shell’ also known as the TC shell  • It is an enhancement of the C shell  • Uses the symbolic link csh • Can be executed by using either csh or tcsh at the shell prompt • ASH: • Is usually suitable on machines that have very limited memory  • Uses the symbolic link, bsh in Fedora Core 2
  8. Changing the Default Shell • The default shell of the user is specified in the /etc/passwd file.  • The chsh command can be used for changing the default shell for the user [steve@linuxpc1 /etc]$ chsh ↵ Changing shell for Steve. Password: New shell [/bin/bash]: /bin/csh Shell changed. • The full path for the new shell has to be given when changing the shell.  • After the default shell has been changed from Bash to csh, the entry for the user,  steve, in the passwd file changes as follows steve:x:503:513:steve walker:/home/steve:/bin/csh
  9. Shell Scripts • A Shell script: • Stores a sequence of frequently used Linux commands in a file • Enables the shell to read the file and execute the commands in it  • Allows manipulation of variables, flow­of­control and iteration constructs that make  programming possible
  10. The echo Command • The echo Command  • Displays messages on the screen • Displays the text, enclosed within double­quotes • Puts a newline character at the end of the text by default $ echo "This is an example of the echo command" ↵ This is an example of the echo command $ _ 
  11. Executing a Shell Script • A shell script can be executed: • In a new shell by 1. First granting the execute permission to the specified shell script 2. Then invoking its name at the $ prompt  $ chmod u+x magic ↵ [Change File Access Permission] $ magic ↵ [Execute the shell script]  • In the current shell by using the dot (.) command with the script name in the Bash  shell  $ . magic ↵ [In the Bash shells]
  12. Creating Variables  • Variables in shell scripts:  • are not declared as integers or characters • are treated as character strings • can be mathematically manipulated  • do not have to be explicitly declared • can be created at any point of time by a simple assignment of value  • The syntax for creating a variable is: = • Variables can be created: • In shell scripts: A variable created within a shell script is lost when the script stops  executing.  • At the shell prompt: A variable created at the prompt remains in existence until the  shell is terminated. 
  13. Referencing Variables • The $ symbol is used to refer to the content of a variable  variable1=${variable2}  • The braces are essentially used to delimit the variable name. • The command to assign the value of today variable to x variable is:  $ x=$today
  14. Reading a Value into a Variable • The read command is used to enter a value from the keyboard into a variable during the  execution of a shell script.  • The syntax to use the read command is: $ read • The read command, on execution, waits for the user to enter a value for the variable.  • When the user presses  key after entering the value, the remaining part of the shell  script, if any, is executed. 
  15. Local and Global Shell Variables • A local variable is a variable that can be given a different value in the child shell without the  parent shell knowing about it, as shown in the following example:  $ continent=Africa $ echo "$continent" Africa $ bash [Creates a new shell] $ echo "$continent" [There is no response] $ continent=Asia [Gives new value Asia to continent] $ echo "$continent" Asia Press  d $ exit [Displays exit and returns to parent shell] • The export variable is a global variable that is passed on by the export command as an  argument to all child shells.
  16. Environment Variables  • All exported variables are environment variables, some of which are meaningful to the  shell.  • By changing the values of these variables, a user can customize the environment.  • Some of the environment variables are: • HOME: Stores the location of the HOME directory of a user • PATH: Contains a list of colon­delimited path names of directories that are to be  searched for an executable program • PS1: Contains the shell prompt, the $ symbol. You can change the shell prompt by  setting the value of this variable to the desired prompt • PS2: Sets a value for the secondary prompt, which is by default > • LOGNAME: Contains the user’s login name • SHLVL: Contains the shell level that you are currently working in   • SHELL: Stores the user’s default shell
  17. The env Command • The env Command enables you to view the list of all the exported environment variables  and their respective values. • The following are some of the environment variables: • HOME: Stores the location of the home directory of a user  • PATH: Contains a list of path names of directories that are to be searched for an  executable program  • PS1: Contains the shell prompt, $ • PS2: Sets the value of the secondary prompt • LOGNAME: Contains the user’s login name  • SHLVL: Contains the shell level of the current shell  • SHELL: Stores user’s default shell
  18. Objectives In this lesson, you will learn to: • Use the grave ascent, expr command, and test command  • Use conditional execution constructs • Implement iteration constructs • Use functions in shell scripts • Debug shell scripts • Handle parameters in shell scripts using positional parameters • Implement the shift command 
  19. Command Substitution  • Command substitution allows you to use more than one command in a single command line.  • The expr command is used to evaluate arithmetic expressions as shown below: $ expr 4 + 5 ↵ • The test and [] Command  • Evaluates an expression and returns either a true (0) or a false (1)  • Can also be replaced with []  • Uses the following syntax: test expression or [ expression ] • Enables you to test multiple conditions in one command using the options -a and -o • When using the wildcard characters the * is used, it should be preceded by a backslash (\),  otherwise, the shell will interpret it as a wildcard character.
  20. The if Construct • Linux provides the if Construct to perform decision making in shell scripts. • The if construct is usually used in conjunction with the test command   if then [else ] fi • Linux also provides the if...elif construct, the syntax of which is as follows: if condition(s) then command(s) elif condition then command(s) else command(s) fi
Đồng bộ tài khoản