linux下 shell编程初识与心得

一些心得:

1、遵循一定的语法规则,是一种脚本语言(就是帮你在控制台上自动化执行一些操作);
2、运行shell脚本语言实质是利用Shell解析器( 一个应用程序 )解析你编写的脚本 );
3、多数的语法都是C的变形,稍加转变就可以灵活应用;
4、通常在Linux下开发不需要你大量编写shell脚本(并且大多都是有模板),shell脚本通常做一些预处理(拷贝\移动\查找\替换\删除等文件命令),和执行make/diff/patch等一些简单的操作,总之一句,就是帮助程序员做一些重复的shell命令(想想一天重复敲这些命令几十遍,它不浪费时间吗?);
5、一般使用步骤:
a、创建xxxx.sh文件,编写内容~
b、创建脚本后需要修改可执行属性;
c、在控制台执行 ./xxxx.sh ;(’.‘是指在当前目录下搜索);
6、shell由三大部分组成:
a、#!指定执行的脚本shell 如: #!/bin/sh ps:注意不是shell;
b、#注释行;
c、命令和控制结构(程序正文部分);
7、shell编写时千万要注意标点符号和空格的使用,如:
a、变量赋值时两侧没有空格!! (example: a=888 )
b、运算操作expr的引号是 “~”这个按键,键盘左上角!(example:expr $a + $a)
8、其他:
a、在shell程序中调用其他shell(子shell)有两种方式:’./'点命令和source命令,前者子shell执行结果不会影响父shell,后者子shell定义的(环境)变量会带回父shell,即父shell可以引用子shell的变量。
9、接下里就是编程尝试,有编程经验的小伙伴很容易上手的~,注重练习,有些时候,再简单的事情也要实操几遍才会记入脑中,开发不就是大多数时候去记住操作流程嘛,尤其是linux开发。
10、重点shell函数的应用:https://www.cnblogs.com/duanxz/p/4661767.html;

相关shell参考教程ppt:https://download.youkuaiyun.com/download/STCNXPARM/12111216
shell脚本成分 开头和注释: shell脚本的开头,用来解释shell程序,包括:#!/bin/bash、#!/bin/csh、#!/bin/tcsh、#!/bin/pdksh,一般用#!/bin/bash。。 shell脚本中的注释,以#开头的句子表示注释。 变量: 变量的赋值和引用 在shell编程中变量没有类型,简称弱类型编程语言,不需要声明,在引用这个变量时会创建它(在变量名前加$符号引用变量的值)。在定义变量时,若String中包含空格、制表符、换行符,需用单(双)引号,双引号内允许变量替换,而单引号内就不可以。 shell变量的作用域 可以用export内置命令将局部变量设置为全局变量。 位置变量 用于向shell脚本传递信息。参数相关数目传入脚本,此数目任意多,但只有前9个可以被访问,使用shift命令可以改变限制。其中,$0:脚本名字。 特定变量参数 $#:传递到脚本的参数个数;$*:以一个单字符串显示所有项脚本传递的参数。位置变量不通,此选项参数可超过9个;$$:脚本运行的当前进程ID号;&!:后台运行的最后一个进程的进程ID号;$@:$#相同,但是使用时加引号,并在引号中返回每个参数;$-:显示shell使用的当前选项,set命令功能相同;$?:显示最后命令的退出状态(0表示没有错误,其他任何值表明有错误。)。 变量的规则 1.变量变量内容以一个等号『=』来连结,如下所示『myname=VBird』 2.等号两边不能直接接空格符,如下所示为错误:『myname = VBird』或『myname=VBird Tsai』 3.变量名称只能是英文字母数字,但是开头字符不能是数字,如下为错误:『2myname=VBird』 "4.变量内容若有空格符可使用双引号『""』或单引号『'』将变量内容结合起来,但 双引号内的特殊字符如 $ 等,可以保有原本的特性,如下所示:『var=""lang is $LANG""』则『echo $var』可得『lang is en_US』 单引号内的特殊字符则仅为一般字符 (纯文本),如下所示:『var='lang is $LANG'』则『echo $var』可得『lang is $LANG』" 5.可用跳脱字符『 \ 』将特殊符号(如 [Enter], $, \, 空格符, '等)变成一般字符; "6.在一串命令中,还需要藉由其他的命令提供的信息,可以使用反单引号『`命令`』或 『$(命令)』 特别注意:那个 ` 是键盘上方的数字键 1 左边那个按键,而不是单引号! 例如想要取得核心版本的配置:『version=$(uname -r)』再『echo $version』可得『2.6.18-128.el5』" "7.若该变量为扩增变量内容时,则可用 ""$变量名称"" 或 ${变量} 累加内容,如下所示: 『PATH=""$PATH"":/home/bin』" 8.若该变量需要在其他子程序运行,则需要以 export 来使变量变成环境变量:『export PATH』 9.通常大写字符为系统默认变量,自行配置变量可以使用小写字符,方便判断 (纯粹依照使用者兴趣嗜好) ; 10.取消变量的方法为使用 unset :『unset 变量名称』例如取消 myname 的配置:『unset myname』
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值