1. Trang chủ
  2. » Công Nghệ Thông Tin

Chương 3: Giới thiệu Bash shell Linux

34 512 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 305 KB

Nội dung

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 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. 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 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 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 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 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 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 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 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 $ _ [...]...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] Creating... 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 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. .. 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 The env Command • • The env Command... fi } echo "Enter a file name" read fname ftype • • Shell scripting also allows you to pass arguments to function The syntax to pass arguments to a function is: [ arg1 arg2 ] Debugging Shell Scripts • • Linux facilitates debugging of shell scripts by using the following two options: • The –v option: Echoes the statements written in a shell script on the terminal, before actually executing... 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... used, it should be preceded by a backslash (\), otherwise, the shell will interpret it as a wildcard character 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... number of arguments for delete" else rm $* fi else echo "Invalid argument - must be 'c' or 'd'" fi The bash_ profile File • • • • • The bash_ profile file is used to set the environment variable that are not set automatically It is a special shell script that is executed as soon as the user logs in The bash_ profile file contains the standard settings for the user such as, the type and path of terminal... 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 Local and Global Shell Variables • • A local variable is a variable that can be given a different value in the child shell. .. the statements in the script preceded by a + symbol, if the statement has successfully been executed To debug the shell script, you can use the sh command with the –v and –x options at the shell prompt: $ sh –v or $ sh –x Sample Shell Scripts Writing a shell script to check whether or not a given string is a palindrome: echo "Enter string" read str len=`echo $str |... 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

Ngày đăng: 08/05/2014, 13:19

TỪ KHÓA LIÊN QUAN

w