shell学习01——从hello world开始
一、运行
1、window环境下运行可以安装git(https://git-scm.com/downloads),安装好后打开 Git Bash图形界面,在图形界面中运行
2、运行方式
在Git Bash中输入 sh sh文件路径/sh文件名
1、常量
echo "hello world"
输出结果:
2、变量
注意:
1,变量名和等号之间不能有空格;
2,首个字符必须为字母(a-z,A-Z)。
3, 中间不能有空格,可以使用下划线(_)。
4, 不能使用标点符号。
5, 不能使用bash里的关键字(可用help命令查看保留关键字)。
使用变量:
只需要在一个定义过的变量前面加上美元符号 $ 就可以了, 另外,对于变量的{} 是可以选择的, 它的目的为帮助解释器识别变量的边界.
例子:
例1:
username="yuluping"
注意:=两边不能有空格
echo ${username} 注:{}可以省略,{}用来表示变量左右两边的边界
echo "my name is ${username}!"
输出结果:
例2:
money=1000
name="李华"
echo "我借了${name}${money}元。"
输出结果:
例3:重定义变量
money=1000
name="李华"
name="王五"
echo "我借了${name}${money}元。"
输出结果:
例4:只读变量 readonly
readonly 命令 可以把变量字义为只读变量。
readonly name="zhangsan"
或写为:
name="zhangsan"
readonly name
echo "my name is ${name}"
输出结果:
例5:删除变量 unset
使用unset命令可以删除变量,但是不能删除只读的变量。用法:unset 变量名
如:unset username
例6:变量类型
运行shell时,会同时存在三种变量:
1) 局部变量
局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
2) 环境变量
所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
3) shell变量
shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
特殊变量:
∗和∗和@ 的区别为: ∗和∗和@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"1""1""2" … "n"的形式输出所有参数。但是当它们被双引号("")包含时,"n"的形式输出所有参数。但是当它们被双引号("")包含时,"*" 会将所有的参数作为一个整体,以"112 … n"的形式输出所有参数;"n"的形式输出所有参数;"@" 会将各个参数分开,以"1""1""2" … "$n" 的形式输出所有参数。
$? 可以获取上一个命令的退出状态。所谓退出状态,就是上一个命令执行后的返回结果。退出状态是一个数字,一般情况下,大部分命令执行成功会返回 0,失败返回 1。
例7:转义字符
转义符:
在echo中可以用于的转义符有:
使用 echo 命令的 –E 选项禁止转义,默认也是不转义的; 使用 –n 选项可以禁止插入换行符;
使用 echo 命令的 –e 选项可以对转义字符进行替换。