In a Linux shell script Basic Learning We talked about the Linux shell script control process of If, select, case, here is the Linux shell script control process loop and quotation marks, control process this part of the content is more, There is also a part of the content about here document.
4.loop
Loop expression:
While ...; Do....done
While-loop will run until the expression test is true. Would run while the expression, the We test for is true.
The keyword "break" is used to jump out of a loop. The keyword "Continue" is used to skip to the next loop without executing the rest of the section.
The For-loop expression looks at a list of strings (strings separated by spaces) and assigns them to a variable:
for Var in ...; Do....done
In the following example, the ABC is printed separately to the screen:
#!/bin/shfor var in A B C; Doecho "Var is $var" done
The following is a more useful script showrpm, which functions to print some RPM package statistics:
#!/bin/sh# List A content summary of a number of RPM packages# usage:showrpm rpmfile1 rpmfile2 ... # example:showrpm/cdr Om/redhat/rpms/*.rpmfor rpmpackage in $*; Doif [-R "$rpmpackage"];thenecho "=============== $rpmpackage ==============" Rpm-qi-p $rpmpackageelseecho "Error:cann OT read file $rpmpackage "Fidone
There is a second special variable, $*, that contains all the input command-line parameter values.
If you run showrpm openssh.rpm w3m.rpm webgrep.rpm
At this point $* contains 3 strings, namely openssh.rpm, w3m.rpm and webgrep.rpm.
5. Quotation marks
The program expands wildcard characters and variables before passing any parameters to the program. The so-called extension means that the program replaces the wildcard character (such as *) with the appropriate file name, and the variable is replaced with the variable value. To prevent the program from making this substitution, you can use quotation marks: Let's take a look at an example, assuming there are some files in the current directory, two JPG files, mail.jpg and tux.jpg.
1.2 Compiling shell scripts
#ch #!/bin/sh mod +x filename
Cho *.jpg∪ slow Teman tip Wine together Ltd U Chung Yuen oldest? /filename to execute your script.
This will print out the results of "mail.jpg tux.jpg".
quotation marks (single and double quotation marks) prevent this wildcard extension:
#!/bin/shecho "*.jpg" Echo ' *.jpg '
This will print "*.jpg" two times.
Single quotes are more restrictive. It prevents any variable expansion. Double quotes prevent wildcard expansion but allow variable expansion.
#!/bin/shecho $SHELLecho "$SHELL" Echo ' $SHELL '
The result of the operation is:
/bin/bash/bin/bash$shell
Finally, there is a way to prevent this extension by using the escape character-the backslash:
Echo *.jpgecho $SHELL
This will output:
*.jpg$shell
Linux Shell Scripting Basics Here, the control process has a little bit of here document content to analyze next time.
Above is the detailed introduction of the Linux shell Script Basic Learning (iv) content, more relevant content please pay attention to topic.alibabacloud.com (www.php.cn)!