#!/bin/bash开头创建一个Shell脚本,输出hello world!





方式1(输入脚本的绝对路径或者相对路径)
说明:首先要赋予hello.sh脚本的+x权限(chmod u+x hello.sh),再执行脚本。上述例子就用了这种。
方式2(sh+脚本)
说明:不用赋予脚本+x权限,直接执行即可。
比如sh hello.sh

$HOME、%PWD、$SHELL、$USER等等,比如:echo $HOME等等…set
unset 变量readonly 变量,注意:不能unset案例1:定义变量A

输出:

注意:

案例2:撤销变量A(unset)

案例3:定义静态变量,并验证该变量是否可以 unset

检验可否可以使用unset:



date反引号,运行里面的命令,并把结果返回给变量A
先在命令行输入set nu把行号显示出来:

:<进行多行注释注意:使用这个时候都要另外去行,也就是:<要写在一行,!要单独取一行
测试:

输出:

那段内容已经被注释掉了。
export 变量名=变量值 (功能描述:将shell变量输出为环境变量/全局变量)source 配置文件 (功能描述:让修改后的配置信息立即生效)echo $变量名 (功能描述:查询环境变量的值)$0,$n,$*,$@,$#)当我们执行一个shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量;
比如:./myshell.sh 100 200,这个就是一个执行shell的命令行,可以在myshell 脚本中获取到参数信息。
$n(功能描述:n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包括,如${10})$*(功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)$@(功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)$#(功能描述:这个变量代表命令行中所有参数的个数)案例:编写一个shell脚本 position.sh,在脚本中获取命令行中的各个参数信息:


$$,$!,$?)就是shell设计者事先已经定义好的变量,可以直接在shell脚本中使用
$$(功能描述:当前进程的进程号(PID))
$!(功能描述:后台运行的最后一个进程的进程号(PID))
$?(功能描述:最后一次执行的命令的返回状态,最后这个变量的值是0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个书,由命令自己来决定),则证明上一个命令执行不正确了。)(用的不多)
