Bash Shell编程简记】的更多相关文章

Shell编程简记 经常在linux环境下开发的同学,难免要使用shell的一些命令或者编写小的脚本,我这里也总结和整理下,自己对Shell的理解和常用的一些shell脚本. 按照目录分为如下3个节: shell的简介和常用的两种方式 shell的语法,包括变量,循环,条件判断,运行终端命令 我常用的一些shell Shell简介 shell可以看作是一种命令脚本语言,属于解释性的语言.主要运行在linux, unix ,mac 等平台下. 具有的特点是:简单易懂,并且编写开发速度块. 语法也比…
http://www.pythoner.com/122.html     abc高级bash shell编程…
二十三. Bash Shell编程:     1.  读取用户变量:     read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入.在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY.下面的列表给出了read命令的常用方式: 命令格式 描述 read answer 从标准输入读取输入并赋值给变量answer. read first last 从标准输入读取输入到第一个空格或者回车,将输入的第一个单词放到变量fi…
前面一篇“shell编程之变量篇”主要讲述下shell编程的变量的基本知识:设置变量的方式,自定义变量和环境变量的差别,变量的替换.删除.测试等. 这一篇主要是讲述在bash shell下的一些基本配置:别名,命令执行,配置文件的读取,可以自定义修改的配置文件. 别名设置 别名设置方式:alias       alias cl='clear' 如上所示的形式 如果希望每次启动shell都能使用这些别名的话,修改自己用户目录下的"~/.bashrc"配置文件,如下图,在文件中找一个适当的…
Bash shell脚本编程知识点如下(初学,不全,欢迎讨论补充): shell简介 脚本的简单介绍 变量和引用 算术运算 交互式编程 选择判断 条件测试 循环 函数 shell简介 shell是一种具备特殊功能的程序,提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令,并把它送入内核去执行,shell分为图形界面和命令界面(我们操作的window系统就是一种图形化shell,我们要学的bash也是she一种命令界面的shell). shell与内核和用户的关系图如下: bash sh…
一.case命令 case variable invalue1) command(s);; value2) command(s);; *) command(s);; esac 如果case变量没有被匹配,程序就执行*)后面的语句.case值中允许出现Shell通配符和竖线(|)作为OR操作符 二.if命令 if commandthen command(s) fi if test expressionthen command(s) fi if [ string/numeric expression…
bash,Unix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写.1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac OS X v10.4都将它作为默认shell.它也被移植到Microsoft Windows上的Cygwin与MinGW,或是可以在MS-DOS上使用的DJGPP项目.在Novell NetWare与Andriod在上也有移植.1990年后,Chet Ramey成为了主要的维护者…
接上节继续, 1. 从键盘读取输入内容 #!/bin/bash read -p 'please input something:' input echo 'your input:' $input 运行效果: ./read1.sh please input something:123 your input: 123 2. while循环及case分支 #!/bin/bash printf '\nplease input a number or character, press "q" o…
1)定义变量 myvar=abc #注:等号前后不能加空格 #或 myvar="abc" #或 myvar='abc' #注:如果变量后面的值中间本身没有空格,加不加引号都无所谓,但值本身如果有空格,则引号是必须的,比如: myvar='abc 123' 2) 使用变量echo $myvar 完整示例: #!/usr/bin/env bash myvar1='ddddddd 111' echo 'myvar1='$myvar1 echo 'myvar1=$myvar1' #注意这一行跟…
先来复习上节重定向的用法: 1.快速清空文件 cat demo.txt < /dev/null 注:linux中有一个经典名言[一切皆文件],/dev/null可以认为是一个特殊的空文件,更形象点,可以理解为科幻片中的黑洞,任何信息重向定输出到它后,便有去无回,当然黑洞里也没有信息能出来. 综合来讲,上面的意思就是利用<将黑洞做为demo.txt的标准输入,黑洞里没任何内容,任何文件里的内容被它吞噬了,自然也没就没东西能剩下了,所以最终就是demo.txt被黑洞洗空了. /dev/null 还…
lvy老师教项目课程,以及代课了shell部分课程,大家都觉得这位老师不行,上课时做的操作很多都是错误的,觉得她基础不好.而且,她不能解释原因,学生问为什么,她不知道.崩溃啊.向xx培训机构反应后,说这位老师项目经验多,可是如果一个人基础都不行,做再多项目也没有用啊,全是错误.这部分都有pdf,自学.说真的,我都比她讲的好.哈哈. 今天考试,90分,错误的地方粗心了,以后再工作中千万不能这样哦. 下面是考题:…
原始文件: find /etc -name passwd 2>&1 | tee ee.log 1. cat -n 把 e.log 的文档内容加上行号后输入 e2.log 这个文档里: xiluhua@localhost ~/t2scripts $ cat -n e.log | tee e2.log /etc/passwd find: `/etc/ntp/crypto': Permission denied find: `/etc/audisp': Permission denied find…
知识回顾 运行脚本我们一般用sh 不用单独去加执行权限 OLDBOY=10只适用当前环境 局部变量 export OLDBOY把它设置为临时的环境变量应为已经=10了所以不用export OLDBOY=10 一般我们修改增加的都在/etc/profile文件里 了解跳板机的脚本放在/etec/profile.d/目录下 要求脚本要有执行权限chmod  +x  脚本名 用户开机就会运行下面的脚本 一般用来判断参数的个数 是否有错误 $? 判断上一个命令是否执行正确 装完软件可以查看结果是否正确…
参数变量:用来向脚本中传递参数 我们在执行脚本的时候可以在其后面加入一些参数,通常来说这些参数与脚本中变量为对应关系. start.sh argu1 argu2 引用方式: $1,,2,……${10}${11},…… 在脚本后边给两个文件路径分别对应文件中的$1,$2.并将值传递给$1,$2 轮替: shift n:位置参数轮替.不给定个数时能默认为1. 脚本后给了三个参数,使用shift踢掉两个,所以脚本中最后引用$1实际值为3 特殊变量: $0:脚本文件路径本身 $#:脚本参数的个数 $*:…
在学习Linux BASH Shell编程的过程中,发现由于不经常用,所以很多东西很容易忘记,所以写篇文章来记录一下 ls   显示当前路径下的文件,常用的有 -l 显示长格式  -a 显示所有包括隐藏  -R 显示文件夹内的内容  -c 按照最后一次修改时间排序  -t 按照修改时间排序输出 echo 显示  -n 不换行 touch  创建一个文件,或者修改文件的访问时间和修改时间 touch -a file 只更改访问时间 -m之更改修改实际那 -t指定特定时间 cp  复制文件 -a 保…
本文介绍下,在bash shell编程中,有关case语句的一个例子,学习下case语句的用法,有需要的朋友参考下. 本文转自:http://www.jbxue.com/article/13377.html bash case语句的例子. 分享一段bash shell代码,对于学习bash的同学理解case语句的用法,会有帮助. 例子: 复制代码代码如下: #!/bin/bash ## www.jbxue.com # Program: # File operation # 1.) Open fi…
转载自: http://www.cnblogs.com/stephen-liu74/archive/2011/11/04/2228133.html 五.BASH SHELL编程: 1.    初始化顺序: /etc/profile    ( ~/.bash_profile | ~/.bash_login | ~/.profile )    ~/.bashrc 2.    set -o allexport 当前shell变量对其所有子shell都有效.       set +o allexport…
更多的bash shell命令 想检测进程,需要熟悉ps命令的用法.ps命令好比工具中的瑞士军刀,它能输出运行在系统上的所有程序的许多信息.默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户的进程. $ps -ef 如果想查看系统上运行的所有进程,可用-ef参数组合.(-e:显示所有进程,-f:显示完整格式的输出) top命令能够实时显示进程的信息. 在Linux中,进程通过信号来通信.进程的信号就是预定义好的一个消息,进程能识别它并决定忽略还是做出反应.进程如何处理信号是由开发人员通…
编程语言有两类 强类型:如C语言.数据具有其特定的类型,先声明定义后才能使用.数据运算时必须符合类型要求(如不能把字符串类型数据直接与整型数据做算数运算) 弱类型:如shell.数据默认为字符型,不用事先声明.数据运算时会自动转换数据类型. 1.变量 变量命名规则 变量类型 变量引用 1.1.变量命名规则: 变量由字母.数字.下划线组成. 不能由数字开头 1.2.变量类型:本地变量.环境变量.局部变量.特殊变量(内置).参数变量.只读变量. 注意如果变量没有定义在shell的配置文件,那么他的生…
如何学习一门编程语言 数据类型 运算符 关键字 1 认识BASH 这个shell linux是操作系统核心,用户通过shell与核心进行沟通,达到我们想要的目的.硬件.核心.用户之间的关系: 原理:所谓Shell程序,实际上是提供用户操作系统的一个接口,用户可以通过shell程序操作其他应用程序(eg. ls,chown,etc.),让这些应用程序可以呼叫内核来完成工作.Bash是Linux系统下的其中一种Shell程序.当前系统支持哪些Shell程序,可查看/etc/shells配置文件:查看…
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的.但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令. 换一种说法也就是,shell script是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正规表示法,管道命令以及数据流重导向等功能,以达到我们所想要的处理目的.…
这本书买了好久了,除了刚到手的那几天翻看了一下以外,竟然到今天都没有看过.突然想要写一个shell脚本,发现什么也不会,是时候开始学习了,今天先把最简单的一章再看一遍顺便做一些笔记,明天继续后面的! man命令用来访问存储在Linux系统上的手册页面.在想要查找的工具的名称前面输入man命令,就可以找到那个工具相应的手册条目. 如果你是新接触bash shell,可能一开始会觉得手册页并不太有用.但是,如果养成了阅读手册的习惯,尤其是阅读第一段或是DESCRIPTION部分的前两段,最终你会学到…
一.初识bash shell 1.1 启动 shell   GNU bash shell 能提供对Linux系统的交互式访问.通常是在用户登录终端时启动,登录时系统启动shell依赖于用户账户的配置.etc/passwd文件包含了所有系统用户列表以及每个用户的基本配置信息. 如上图:最后一个字段,告诉用户(root,mysql)使用的是shell程序,是使用bin/bash作为自己的默认shell程序,这意味着当root登录linux系统后,bash shell会自动启动.后面也会讲到dash和…
1. 正则表达式 (1) 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep.awk.sed等命令可以支持正则表达式:通配符用来匹配符合条件的文件名,通配符是完全匹配.ls.find.cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配了. (2) 基础正则表达式 元字符 作用 * 前一个字符匹配0次或任意多次 . 匹配除了换行符外任意一个字符 ^ 匹配行首,如:^hello会匹配以hello开头的行 $ 匹配行尾,如:hello$会匹配以hello结尾的…
1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. 它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序.建立文件并以并行的方式协调各个程序的运行.因此,对于用户来说,s…
Shell 是一门脚本语言(又称解释型语言),Shell 其实就是一个纯文本文件,通常以[#!/bin/bash]开始.脚本自上而下,从左至右分析并执行,其中[#]后面的为注释.脚本有以下几种运行方式:(1) [bash shell.sh] (2)[sh shell.sh](3)[./shell.sh]当前目录下执行,用户必须有可执行权限 (4)[. ./shell.sh]或[source shell.sh]无执行权限也能执行,[source]一般用于读取配置文件使其立即生效. 第一个 Shel…
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用.深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一. Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh).Bourne…
Shell编程基础入门     1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail:邮箱,#function(功能),#Version:版本 3.脚本注释(用英文注释 中文可能乱码.) 4.脚本以.sh结尾 不是必须的 5.成对的符号,一次性写全,退格补内容.特殊符号[ xxxx ] 中括号中间内容两边都有空格. 6 .代码有条理性(通过缩进). 2.执行:1.sh xxx.sh…
.-9 vim num.sh #! /bin/bash num1=$1 num2=$2 sum=$(($num1+$num2)) #变量sum是num1和num2的综合 echo $sum 执行 ./num.sh 11 22 $*,这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体 $@,这个变量也代表命令行中所有的参数,不过$@吧每个参数区分对待 $#,这个变量代表命令行中所有参数的个数 e.预定义变量 $?,最后一次执行的命令的返回状态.如果这个变量的值为0,证明上一个命令正确执行…
背景知识 Shell 是用户与内核进行交互操作的一种接口,是 Linux 最重要的软件之一.目前最流行的 Shell 称为 bash Shell,bash Shell 脚本编程以其简洁.高效而著称,多年来成为 Linux 程序员和系统管理员解决实际问题的利器.Shell 是操作系统的最外层.Shell 合并编程语言以控制进程和文件,以及启动和控制其它程序.Shell 通过提示您输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出来管理您与操作系统之间的交互.Shell 提供了与操作系统…