「本文已参与「新人创作礼」活动,一起开启掘金创作之路。」
定义
shell 是一种用C语言编写的程序 是用户使用linux的桥梁
可以说 即是一种命令语言 也是一种程序设计语言
大多数linux默认使用的是shell是 bash sh已经被/bin/bash所取代
完全可以理解成在文件中写linux的命令
编写规范:
代码: #!/bin/bash (快速记住:警探/bin/bash)
指定告知系统当前这个脚本要使用的shell解释器
shell 相关命令
文件名 .sh .sh是linux下bash shell的默认后缀
使用流程
-
创建.sh文件
-
编写shell代码
-
执行shell脚本(脚本必须有执行权限)
示例1:
新建一个.sh文件 然后输出hello world
touch test.sh
vim test.sh
在文件中的第一行先写
#!/bin/bash
然后换行
echo 'hell0 world';
保存并退出 esc :wq
如果 权限不够 执行 chmod 777 脚本文件
执行shell文件 ./test.sh
输出成功!
注意: 运行时一定要写成 ./test.sh 而不是 test.sh
运行其他二进制的程序也一样
如果直接写 test.sh 系统会去PATH寻找test.sh这个文件
因为你所在的当前目录不会再path里面 所以要用./加在前面 告诉系统直接在当前路径下找到这个文件并执行
示例2:
使用root用户创建并执行 test2.sh 实现创建一个shelltest用户 并在其家目录文件夹中新建文件try.html
touch test2.sh
vim test2.sh
在文件中的第一行先写
#!/bin/bash
useradd shelltest
touch /home/shelltest/try.html
保存并退出
esc :wq
如果 权限不够
执行 chmod 777 脚本文件 执行shell文件
./test2.sh
输出成功!
变量
在一个脚本周期内 其值可以发生改变的量就是变量
一个脚本周期可以理解为当前的shell文件
定义形式: 变量名=“值”
使用形式 echo $变量名
变量命名规范: 等号的左右不能有空格 只能用英文 数字 下划线 数字不能开头 中间不能有空格
不能使用bash的关键字 例:name="zzs" echo $name
示例3:
定义一个变量输出当前时间 要求格式为 年-月-日 时:分:秒
touch test3.sh
vim test3.sh
在文件中的第一行先写
#!/bin/bash res= date +'%F %T'
保存并退出
esc :wq
如果 权限不够 执行 chmod 777 脚本文件
执行shell文件 ./test3.sh
输出成功! 上面例子中运用到的反引号 就是指当在脚本中需要执行一些指令, 并且将执行的结果赋予给变量的时候就要用到这个反引号
单双引号的区别
双引号能识别变量 能够实现转义 ,单引号不能识别 只能原样输出 不能实现转义