of several parametersExercise 1: inside.sh script as follows, carry 3 parameters 1, 2, 3, print $0,$1,$2,$ #的值650) this.width=650; "Title=" inside. JPG "src=" http://s1.51cto.com/wyfs02/M01/7E/72/wKiom1b_wmWzf0BGAACeTiIIwsQ155.jpg "alt=" wkiom1b_ Wmwzf0bgaacetiiiwsq155.jpg "/>Exercise 2: Write a bash script that implements two numbers of additions? Write a calculator?Write a bash script[[Email protected]
Directory
Part 1. Warm up
Why use shell programming?
Start with a sha-bang (Sha-bang refers #!)
Call a script
Preliminary exercises
Part 2. Basics
Special characters
Introduction to variables and parameters
Variable replacement
Variable assignment
Bash variables are of no type.
Special variable types
References (translation may be incorrect, especially quotation marks)
Reference variable
Escape (/)
Ex
of several parametersExercise 1: inside.sh script as follows, carry 3 parameters 1, 2, 3, print $0,$1,$2,$ #的值650) this.width=650; "Title=" inside. JPG "src=" http://s1.51cto.com/wyfs02/M01/7E/72/wKiom1b_wmWzf0BGAACeTiIIwsQ155.jpg "alt=" wkiom1b_ Wmwzf0bgaacetiiiwsq155.jpg "/>Exercise 2: Write a bash script that implements two numbers of additions? Write a calculator?Write a bash script[[Email protected]
parameterecho "Last argument is $ (eval echo \$$#)"echo "Last argument is $ (eval echo $#)"The shell also provides the Eval command, as well as the familiar scripting language, which takes its arguments as command execution, and at first glance doubts why the shell provides two mechanisms to dynamically execute the command string, but after careful analysis, it is found that the Shell's eval differs greatly from other languages.Functions in 1.shell c
—————————————————————————————————————————————The substitution in the arraySubstitution of an array is the substitution of parts of an array element with other strings, but does not affect the value of the original array.The basic syntax is: ${array[@|*]/pattern/replacement}#!/bin/bashReplace= (a b c D e)echo "The replaced array is ${REPLACED[@]/C/3}"echo "The original array is ${replace[@]}"Run the script[[Email protected] test]# sh 20160910-13The replaced array is a B 3 d EThe original array is
element, start with the 1th character of the element, and intercept 3 characters#!/bin/basharray= (Apple orange banana) Var=${array[2]:1:3}echo "$var"Run the script[Email protected] test]# sh 20160910-12ana
The substitution in the arraySubstitution of an array is the substitution of parts of an array element with other strings, but does not affect the value of the original array.The basic syntax is:${array[@|*]/pattern/replacement}#!/bin/bashreplace= (a b c d e) echo "the replaced array i
is an executable file, returns True if the directory is accessible-E file----Returns True when file exists-O file----Returns True when the file owner is the current user-Z File----Returns True when file length is 0 o'clock-U-----The UID flag of the file is set-G-----File has the same group ID as the current userFile1-nt file2-----file file1 than file2 updateFile1-ot file2-----file file1 older than file24:bash Commissioning
It's hard to make mis
2 3
Calculate how much from 1 to N, n is the parameter you bring in when you execute the script?
VI for3.sh#!/bin/bashfor for I in ' seq $ ' do let sum+= $idoneecho "sum= $sum" execution: #bash for3.sh 100sum=5050
5 Seconds Countdown
Daojishi.sh#!/bin/bashn=5for i in ' seq 5 ' do echo ' countdown: $n ' Let n--sleep 1done execution: #bash daojishi.sh countdown: 5 Countdown: 4 Cou
instantly appear as prototypes
Although history expressions and parameter symbols are easy to use, you don't know exactly what these expressions and symbols represent until the command carriage returns that contain these expressions and symbols. To solve this problem, we can use Magic-space
bind Space:magic-space
With this setting, after entering history expressions and parameter symbols in bash, the expressions and sy
File test operations-advanced bash Script Programming Guide
/Span> 7.2 file testing operations----------------Returns true if...-E file exists-File a exists.This option has the same effect as-e, but it has been discarded and is not encouraged.-F file is a regular file (not a directory or a device file)-S file length is not 0-D files are directories.-File B is a block device (floppy disk, cdrom, etc)-The c f
, which is represented as a local variable. such as local temp=1 .Example 3. Array Parameterstest3.sh#!/bin/bash Span class= "hljs-comment" ># trying to pass a array variable function testit {local newarray # use ' local ' define a local variable newarray= (' echo " the NewArray value is ${newarray[*]} "}myarray= (1 , 2 , 3 , 4 , 5 ) echo "the original array is:${ Myarray[*]} " testit $myarray Test:sh test3.shOutput:The original array is:1,
brought in when the script is executed
While3.sh:#!/bin/bashn=$1while [-N "$n"] ["$n"-GT 0]doecho-n "*" Let N--done-------------------------$bash while3. SH 5$*****
About the use of break and continue. The keyword "break" is used to jump out of the loop, and the keyword "continue" is used to skip to the next loop without executing the rest of the section.
While4.sh:#!/bin/bashn=$1while [-N $n]do if [$n-eq 0]then echo-e "" Breakelse
I like a wordThe only-to really learn scripting are to write scriptsThe only way to learn a script is to write a scriptBetter command-line parameter detectione_wrongargs=85 # non-numerical argument (Bad argument format).41 ## case "$" in# "") lines=50;;# *[!0-9]*) echo "Usage: ' basename $ ' lines-to-cleanup";No number in the middle of the argument, invalid argument# exit $E _wrongargs;;# *) lines=$1;;# ESACMore Efficient directory detection3 # Cd/var
Case and function two, array three, array slicing four. Bash built-in string processing tool five. Test scriptsI. Case and functionfunction, Case statementCase statement:Case $VAR inPAT1)Branch 1;;PAT2)Branch 2;;*)Branch N;;EsacPattern:globFunctions, structured programming, code reusefunction F_name {function body}F_name () {function body}function definitionFunction call: Given the name of the AcoRG1 ARG2//Locals: Local Var=valuetwo, array:program = i
Gefa1aadtcfarw-k936.jpg "/>Method two: By using grep to determine whether the user's input contains non-numeric, if not included, then output 0, if included, Output 1.650) this.width=650; "style=" Float:none; "title=" if3. JPG "alt=" wkiom1cd41-xavmyaadwcjzwsls453.jpg "src=" http://s3.51cto.com/wyfs02/M02/7E/8D/ Wkiom1cd41-xavmyaadwcjzwsls453.jpg "/>Validation results: The script names of the two methods are if2.sh,if3.sh650) this.width=650; "style=" Float:none; "title=" Ifresult. JPG "alt=" wk
page, by setting the DesignModeproperty to the "on" value, you can edit the text content, and another way to edit rich text is to use the name Contenteditable property, whichAttributes can be applied to any element in the page, and the element that sets this property is like a Manipulating Rich Text: the main way to interact with a rich text editor is to use the Document.execcommand () method, which requires passing three parametersThe command name to execute, FALSE, a value to execute the comm
[[emailprotected]shell]#catmod_ip_hostname.sh#!/bin/bash#automodify Ipandhostname#bycolinon2015-05-07ip_config= '/etc/sysconfig/network-scripts/ Ifcfg-eth0 ' hostname_config= '/etc/sysconfig/network ' hosts_config= '/etc/hosts ' #定义一个IP主要内容数组a =0# Defines the variable a as an array subscript, dynamically used when calling ip_array[a]ip_array= (IPADDRNATMASKGATEWAYDNS1DNS2) #判断IP是否符合标准规则function judge_ip () { #这里local $1 error, using 2>/dev/null to sc
automatically gets the focus when it reaches a certain lengthFancy gameplay for 6.Add (newoption,reloption); Insert an element into the controlmultiple: Multiple selectionoptions: Htmlcollection of all Remove (Index): Removes the option for a given positionSelectedIndexSize: Number of rows visible in the selection boxYou can use:var newoption=new option ("option text", "option value"); Selectbox.appendchild (newoption);Add an option7.appendChild ()can be used to move items in one list to anothe
original content). The final result is consistent with the results we see.
2. Transformation of Ranks
Let me explain the above statement, h means that the content of the pattern space is appended to the hold space, ${...} means the last execution, which means that the contents of {} are executed last, so the contents of the space are consistent with the contents of cat in the last time,x Represents the content of the swap hold space and pattern space , then the contents of the patte
content is not.Modifier: I ignores case. G: Global substitution. C: The user's confirmation should be taken when replacing.: N1,n2s/word1/word2/gic%S/WORD1/WORD2/represents replacing the first word1 of each line650) this.width=650; "src=" http://s3.51cto.com/wyfs02/M02/72/C1/wKiom1XsYE3Q7Xs_AAO9FXBV5-k307.jpg "title=" Q ' Uzlaqd]q (p[~r_{l1pcyp.png "alt=" Wkiom1xsye3q7xs_aao9fxbv5-k307.jpg "/>Find root and change to admin1, $s/root/admin/represents the first root of the match to be replaced by
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.