command. You can use Echo to print any variable value in any place where you suspect it is wrong. That's why most shell programmers spend 80% of their time debugging programs. of the Shell programThe advantage is that there is no need to recompile, and it does not take much time to insert an echo command.The shell also has a real debug mode. If there is an error in the script "Strangescript", you can debug it this way:
Sh-x Strangescript
This executes the script and displays the values of all v
1#!/bin/Bash2 ############################################3# @content Chapter8,9of Linux Command line and Shell Scripting Bible4 # @reader Gavin5# @date the/ A/ -6 ############################################7CHAPTER88 9+user varriable make the shell A-computer programTen 1when assigning a value to a user-defined variable, no spaces can appear One 2. Shell script automatically determine the data typ
");
return 1;
}
}
Finally, use GCC to compile the file: gcc test_exec.c-o test_exec; give it permission after the compilation is complete: chmod 777 test_exec; Then set the user tag bit: s, chmod u+s test_execTo perform the test:1. Use the root user to create a del_test file, and then switch to the normal user, the test can be deleted, and then use our command to simulate the root user to see if you can delete2. Use the root user to create a del_test file, switch to the Zhangsan user, u
Linux shell scripting:1. Program Structure Exercise: Write a script, given a positive integer, to calculate the sum of all digits of this number.For example, if the program is given input 123, it should return 1+2+3=6.2. Program Structure Exercise: Write a script, given a positive integer, to output this number in reverse order.For example: program input 123, then should output 321.3.
failed_msg "Send signal SIGKILL failed ret=$ret"; return $ret; fi Ok_msg"${app} stopped by SIGKILL" Else# Delete The PID file when stop success.Rm- f ${pid_file} fiSleep 0.1return 0}# Get the status of the SRS process# @return 0 if SRS is running; otherwise, 1 for stopped.status () {Load_process_inforet=$?;if [[0 -eq $ret]]; then echo '${app} (PID ${app_pid}) is running. "; return 0; fi echo "${app} is stopped, $error _msg" return 1}menu () {case "$" inStart) Start; stop) s
[Turn]http://www.knktc.com/2011/08/20/linux-shell-expect%e6%89%b9%e9%87%8fscp%e8%84%9a%e6%9c%ac%e5%b7%a5%e5%85%b7/
One of the most recent tasks in preparing a deployment is to send some files, such as installation packages, to a large number of servers. Although there is already a Brother Woo script available: A Python script written by the SSH and SCP features provided by the Paramiko module. But I'm still in the fear of Python (though I've worked m
Overview:Overview:This section describes the array of shell scripting in Linux, advanced string processing, advanced variables, and configuring the user's environment.One, function and positional parameter extension1. TheShift command implements the jump in the position parameter, which squeezes the leftmost parameter650) this.width=650; "src=" Http://s1.51cto.com/wyfs02/M01/86/5B/wKiom1e9EFvAun-AAABG0xL4ac
be output to the monitor while redirecting files, but generally overwrite the original file content, you can use the-a append contentCode 5-23[Email protected]:/data# date | Tee Textmon Dec 5 06:18:04 CST 2016[email protected]:/data# cat text Mon Dec 5 06:18:04 CST 2016[email protected]: /data# who | Tee text root pts/0 2016-12-05 04:26 (122.90.143.21) [email protected]:/data# cat text root pts/0 2016-12-05 04:26 (122.90.143.21) [Email protected]:/data# date | Tee-a text
PS1 = "[\t][\u]\$"//New shell prompt shows the current time and user nameIn Windows, you often see such file paths: D:\work\FTL Moniqi\ftl_lru-0513\ftl_lru-0513\siLinux takes a different approach. Linux stores files in a single directory structure, a directory that we call virtual directories. The virtual directory contains the file paths for all storage devices installed on the PC.Linux uses the forward slash "/" instead of the backslash "\" to plan
Bit left shift
>>
Bit right Shift
Bit Boolean and
|
Bit Boolean or
Logic and
||
Logical OR
Code 2-11[Email protected]:/data# cat Demo3 #!/bin/bashval1=10if (($val 1 * * 2 >) then ((val2= $val 1 * * 2)] echo "The sq Uare of $val 1 is $val 2 "Fi[email protected]:/data#./demo3 the square of 100 use both brackets[[Expression]] provides another feature
1. After opening the terminal prompt, $ represents a normal user, #表示管理员用户root, root is the most privileged user in the Linux system.2. A shell script is usually a text file with a #! start, where #! precedes the interpreter path. Example: #!/bin/bash3. Note section starts with #, and consistently continues to the end of the line4. By default, Echo adds a line break after each call. The text after echo can be enclosed in double quotation marks, with s
Scripting of Bash functions under Linux (11)1. Function of script programming:Function: Structured programming, cannot run independently, needs to be executed when called, can be invoked multiple timesFormat 1:Function name {Statement...}Format 2:Function name () {Statement...}2. Call function Execution status return value:Format: return value, value between 0-2553. Use the function to complete the script t
The remaining space is Morethan the%, the message is sent to the Wl#tue2 the: $: AboutCst .PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/wl/Binexport PATH forRemainingspaceinch$(DF-H |awk '{print $}'|grep-V' Use'|sed-E's/[%]//g') Do if[[$RemainingSpace > the]]; Then Echo-E"$RemainingSpace" Echo-E"$ (df-h | grep $RemainingSpace)">/service/script/. Harddiskwarning Mail-S"Disk Warning"WL . Harddiskwarningfi Done4. Detecting remaining Inode#!/bin/Bash#inspcet Inode
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
.2) read uses the IFS character to parse the text, and here we specify the IFS as a comma.Cat >> $outfile This includes an output append redirect (>>) and an input append redirect (>> appends the output of the cat command to the file specified by the $outfile variable.The input to the Cat command is not taken from standard input, but is redirected to the data stored in the script.The EOF symbol marks the beginning and end of the data appended to the file.Input file + run + Result:DescriptionSpe
Linux Scripting Learning
D: Delete rows that match the criteria
Sed ' 1,2d '/etc/fstab delete 1, 2 lines, show other rows
P: The line that displays the print fit condition
Sed '/^\//p '/etc/fstab matches the display, plus the original, there will be 2 duplicateSed-n '/^\//p/etc/fstab displays the line that matches the print
A: Add/string after the specified line
another, or 8 seconds to exit. #d. Next, set the password for the user, first prompt the user to enter the password to be set, the password input process is not visible #e. Length detection of the password entered by the user in the previous step, if less than 5 bits (including 5-bit), prompt the user password is too short, and exit # F. For complexity detection of the password entered by the user in step D, if the input is exactly the same as a line entry in the/usr/share/dict/words dictionary
script requires a user name list file as a parameter2) If no parameters are provided, this script should give a hintUsage:/root/batchusers, exit and return the corresponding value3) If a nonexistent file is provided, this script should give aShow Input file not found, exit and return the corresponding value4) New User login Shell is/bin/false, no need to set password5) User list test file:Http://classroom/pub/materials/userlist# wgethttp://classroom/pub/materials/userlist[Email protected]/]# vi
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.