前言:
学习shell语言前需要熟练运用linux正是表达及三剑客命令(gerp,sed,awk).
初学者一定要从简单做起,最小化代码学习,简单判断,简单循环,简单案例练习,所有的大程序都是由多个小程序组成的。
对于编程的最高境界,每个人理解是:能把大问题进行完整的分析,分解且高效的解决。
完整性:就是只优先考虑到各种可能性,将问题分解后,合理模块化并实现。
高效率:简单来说就是脚本的性能优化。
入门:
CentOS和Red Hat Linux下默认的shell均为bash。 因此,在写shell脚本重即使不加“#!/bin/bash”,它也会交给bash解释器。
最好都加上相应的开头解释器语言标识,遵守Shell编程规范。
1,bash script-name 或 sh script-name
2,path/script-name ./script-name
使用第二种方式的的执行Shell脚本 如果脚本本身没有执行权限会报错。不过可以使用source 或者“.”(点号)来执行。例如:
# . test.sh
# source test.sh
注1:通过“.”或source接在执行的脚本,由于是在当前Shell执行脚本,因此在次脚本结束后,脚本重的变量(包括函数)值都在当前Shell中依然存在,而sh和bash执行脚本后都会启动新的子Shell执行,执行完后退回父Shell,因此变量(包括函数)值等无法保留。
2.在Shell脚本重注释尽量不使用中文,是因为防止切换系统或在本机使用时候出现中文乱码。
3.在Shell脚本命名应以.sh为扩展名。
1,对于常规变量的字符串定义应加双引号,并且引号前后不能有空格。需要强引用的(指所见即所得的字符引用),则用单引号‘‘,如果是命令引用的,则用反引号``。
2,
3,
4,
5,.。。。。懒得写了,自己看着办
什么是Shell变量
变量是暂时存储数据的地方及数据标记,所存储的数据存在于内存空间中。
变量赋值方式:
变量名 = 变量值
查看变量:
echo $变量名
变量可分为两类:环境变量(全局变量)和普通变量(局部变量)
环境变量:
环境变量一般是指用export内置命令导出的变量。
所有的环境变量都是全局变量。
按照系统规范,所有的环境变量的名字均采用大写形式。
设置环境变量
如果想要设置环境变量,就要在变量赋值之后或在设置变量时使用export命令
export命令格式如下:
1, export 变量名=变量值
2, 变量名=变量值 ; export 变量名
1.通过echo或者printf命令打印环境变量
例如: echo $HOME
2.通过env或set显示默认的环境变量
3.用unset消除本地变量和环境变量
例如 unset $HOME
定义本地变量
变量名=变量值
数字内容的变量可以不加引号,其他没有特别要求的字符串等定义最好都加上双引号,如果真的需要原样输出就加单引号,定义变量加双引号是常见的使用场景。
原文:https://www.cnblogs.com/liruoxiao/p/12819745.html