shell基础知识记录

116 阅读2分钟

「本文已参与「新人创作礼」活动,一起开启掘金创作之路。」

定义

shell 是一种用C语言编写的程序 是用户使用linux的桥梁

可以说 即是一种命令语言 也是一种程序设计语言

大多数linux默认使用的是shell是 bash sh已经被/bin/bash所取代

完全可以理解成在文件中写linux的命令

编写规范:

代码: #!/bin/bash (快速记住:警探/bin/bash)

指定告知系统当前这个脚本要使用的shell解释器

shell 相关命令

文件名 .sh .sh是linux下bash shell的默认后缀

使用流程

  1. 创建.sh文件

  2. 编写shell代码

  3. 执行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

输出成功! 上面例子中运用到的反引号 就是指当在脚本中需要执行一些指令, 并且将执行的结果赋予给变量的时候就要用到这个反引号

单双引号的区别

双引号能识别变量 能够实现转义 ,单引号不能识别 只能原样输出 不能实现转义