shell基础
特殊字符
$符号
shell中使用$符号来取一个变量的值
通配符
* 代表任何字符串(包括0个)。例如:“f*”匹配以f打头的任意字符串。
? 代表任何单个字符。
[]代表指定的一个字符范围。
单引号
由单引号括起来的字符都作为普通字符出现。特殊字符用单引号括起来以后也会失去原有意义,而只作为普通字符解释。
双引号
由双引号括起来的字符,除$ 、\ 、’ 、和 " 这几个字符仍是特殊字符并保留其特殊功能外,其余字符作为普通字符对待。
反引号 (`)
反引号(`)括起来的字符串被shell解释为命令,在执行时,shell首先执行该命令,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。
注释符
在shell编程中经常要对某些正文行进行注释,以增加程序的可读性。在Shell中以字符 # 开头的正文行表示注释行
别名
命令别名通常是其他命令的缩写,用来减少键盘输入。
alias cdcode='cd ~/code'
alias #显示当前系统中定义的所有命令别名
history #显示所有执行过命令
history | tail -n 5 #显示最近执行的5条命令
!507 #重新执行ll命令
命令历史
环境变量HISTSIZE的值保存历史命令记录的总行数,该值的范围正常情况下是100~1000,当从shell中退出时,最近执行的命令将保存在HISTFILE变量指定的文件中
shell脚本
Shell脚本是使用shell命令编写的文件,也称为shell script。
与结构化程序不同,shell不需要编译成目标程序,也不需要链接成可执行的目标码,shell是按行一条接着一条地解释并执行shell脚本中的命令。
shell脚本执行方式
第1行 选择脚本程序的解释器/bin/bash, 或 /bin/sh
#! /bin/bash
使用 chmod命令把程序赋予执行权限
source命令简写为. , 称之为点命令
shell变量
清除自定义变量
unset variable-name
环境变量
当一个shell脚本程序开始执行时,一些变量会根据环境设置中的值进行初始化,这就是环境变量
env 打印当前用户的环境变量
shell编程基础
使用read命令来将用户的输入赋值给一个变量
echo默认情况下是换行标准输出语句
export [-fnp][变量名称]=[变量设置值]
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
test命令和 [ ] 命令
测试条件表达式;
如果条件为真,则返回一个 0 值。
如果表达式不为真,则返回非0值。
expr命令
expr命令将它的参数当作一个表达式来求值。语法格式:
expr expression
注意:在使用expr时,运算符前后要有空格,且乘法要用“\”转义,即“*”的形式。
let命令
用来求算术表达式的值,如果最后表达式的值为0,let命令返回1;否则返回0。
注意:使用let命令时,变量前的$不是必须的,乘法也不需转义使用。
圆括号
两对圆括号用于算术替换
一对圆括号用于命令的执行和获取输出
分支结构
Linux下C编程
gcc命令
链接选项
警告选项
例如