shell script简单笔记】的更多相关文章

变量 shell script是一种脚本语言,变量的定义是通过 myName=HYB 这样的形式定义的. 当存在空格时,可以通过双引号或单引号将其变为字符串.双引号不进行转义,单引号将内容进行转义为一般字符.\会进行转义. 执行命令 通过小括号$(command)或者是`command`可以执行指令,将执行结果返回. ?为上一个指令返回的值 命令 export 可以显示或增添变量,仅在当前会话中有效. 比如 export PATH=$PATH:/bin/bash 还可以将父进程中的自定义变量传递…
A chain no stronger than its weakest link. "一着不慎,满盘皆输" 参考资料:鸟哥的Linux私房菜 基础学习篇(第三版)  Linux Shell脚本攻略     Linux程序设计(第四版) 一.什么是shell script 1.什么是shell script 简单来说,shell script(程序化脚本)是利用shell功能所写的一个“程序”,它拥有自己的语法特性 2.为什么要学shell script 对于一个初学者来说,我觉得就那…
shell script 入门 在 shell script 注意必须使用完全相同写在下面: 1.  指令的运行是从上而下.从左而右的分析与运行: 2.  指令的运行就如同第五章内提到的: 指令.选项不參数间的多个空白都会被忽略掉: 3.  空白行也将被忽略掉,并且 [tab] 按键所推开的空白相同规为空格键: 4.  假设读取到一个 Enter 符号 (CR) .就尝试開始运行该行 (或该串) 命令: 5.  至亍假设一行的内容太多,则能够使用『 \[Enter] 』来延伸至下一行. 6. …
1.在赋值语句name=value中不能存在空格,例如:name = value这样的形式会被认为是三个变量,因为本质上来说,脚本的内容就是传给shell程序的变量,而变量之间是通过空格区分的.如果想要在value里面出现空格,则需要用引号标注出来,想要应用变量的内容则在变量名前加‘$’符号,如下: 2.当我们需要在一些非空格字符之间插入变量时,例如:为了脚本的扩展性,常在路径名/home/my$USERtxt中用变量取代一部分内容,但是这样做的话,我们其实无法区分变量名是USER还是USERt…
1.if内的判断条件为逻辑运算: 2.if内的判断条件为目录是否存在,文件是否存在,下图先检验目录/home/monster是否存在,然后再检测/home/monster中的file.txt文件是否存在,这里需要注意的是在进行文件目录是否存在一类的判断时,只能使用"[]"括号.“()”括号一般仅用于算数运算.当然,在一个if中可以存在多个判断条件,用-a(与)或者-o(或)连起来,不过这里需要特别注意的是,shell和C/C++,JAVA是不同的,它在一个if中的所有判断条件都会执行到…
1.PATH变量:shell最主要的功能就是执行用户输入的命令,例如当用户输入一条“ls”命令之后,shell就要找到该命令对应的文件并执行.通常shell都会设置一个名叫PATH的环境变量,其中保存着一系列用于查找命令文件的目录名,并且目录出现的顺序非常重要,因为shell会按序进行查找,当找到第一个与命令对应的文件就执行 2.通常可根据“$?”的值来判断上一条命令是否运行成功.一般$?=0则说明上一条命令运行成功,否则表示不成功.如果熟悉C语言的话就会知道,其实$?保存的就是上一个程序mai…
1.将标准输出(stdout)和标准错误输出(stderr)分别重定向到两个不同的文件 其中符号'>'默认将标准输出重定向,意思和'1>'相同,‘2>'表示重定向标准错误输出,数字1和2其实是文件描述符,在Linux下默认1为标准输出STDOUT,2为标准错误输出STDERR 2.将标准输出和标准错误输出重定向到同一个文件中,共有下图所示三种写法,后两种写法可以认为符号&是作为特殊标记了,第一种写法则可以看做先将STDOUT输出到both文件,“2>&1”则可将1理…
菜鸟教程Shell script学习笔记(中) 以下内容是学习菜鸟教程之shell教程,所整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-shell.html Shell基本运算符 注意: 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用. expr 是一款表达式计算工具,使用它能完成表达式的求值操作. #!/bin/bash val=`expr 2 + 2` echo "两个数之…
菜鸟教程Shell script学习笔记(下) 以下内容是学习菜鸟教程之shell教程,所整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-shell.html Shell流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])){ search(q); } else { //不做任何事情 } #在sh/bash里不可以这么写,…
shell Script学习笔记 <鸟哥的Linux私房菜 3rd Edition>: @1:若变量内容中包含空格字符,则可使用双引号"或单引号'将变量内容结合起来,但不同的是: #1:双引号内的特殊字符(如 $ 等),会保有原本的特性: var="lang is $LANG" echo $var 可得lang is en_US #2:单引号内的特殊字符则仅为一般字符 (纯文本): var='lang is $LANG' echo $var 可得lang is $…