shell脚本语言——入门与变量

第一个shell脚本语言

1、脚本格式

(以#!/bin/bash)——指定解析器

2、第一个shell脚本(helloworld.sh)

a.创建一个shell脚本,输出helloworld;

touch helloworld.sh
vim helloworld.sh
#在helloworld.sh中输入以下内容
#!/bin/bash
ech "helloworld"

b.脚本的执行方式:

b1.采用bash或sh+脚本的相对路径或绝对路径:

sh ./helloworld.sh
sh /root/shells/helloworld.sh
bash ./helloworld.sh
bash /root/shells/helloworld.sh

b2.采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x):

赋予helloworld.sh脚本的+x权限

chmod +x helloworld.sh

执行脚本

./helloworld.sh
/root/shells/helloworld.sh
source helloworld.sh
. helloworld.sh

3、开子shell与不开子shell的区别

环境变量的继承关系,子shell中设置的当前变量在父shell中是不可见的。

变量

1、系统预定义变量(一般大写字母)

常用的系统变量——$HOME ,$PWD ,$SHELL ,$USER等

#查看系统变量的值
echo $HOME 
#显示当前shell中所有变量
set
#在控制窗口显示系统变量
env | less
printenv | less
#显示具体的系统变量
printenv USER
#开启一个子shell,并查看shell进程
bash
ps -f

2、自定义变量(一般小写字母)

定义变量(不能加空格)——定义变量通常为局部变量,需要通过export命令转变为全局变量。

区别:局部变量不能在子shell中执行展示,全局变量可以。

a=2
echo $a
#将局部变量导出为全局变量
export a

运算操作需要加运算符

result=$((1+5))
#或者 result=$[1+5]
echo $result

只读变量(静态变量)

readonly b=5
#b=10就无法执行
echo $b

撤销变量(只读变量不能撤销变量)

unset result

3、参数变量

$n——位置参数:

   $0——.sh文件的脚本名称

   $1-$9——表示一到九九个参数变量($1:第一个参数;$2:第二个参数.......$9:第九个参数)

$#——获取输入参数个数

$*  ,$@——代表命令行中所有的参数

$*:把所有参数看成一个整体

$@:把每个参数区分对待

$?——最后一次执行命令的返回状态,0就是正常执行,非0就是没有正常执行

你可能感兴趣的:(shell脚本,笔记,linux,运维,服务器)