BashShell基础笔记

编程

常见shell种类

1 Bourne Shell(/usr/bin/sh或/bin/sh)

2 Bourne Again Shell(/bin/bash)

3 C Shell(/usr/bin/csh)

4 K Shell(/usr/bin/ksh)

5 Shell for Root(/sbin/sh)

 

 切换root管理员

 

注释

#!解析器路径

#单行注释

<<BLOCK

多行注释

BLOCK

: "

多行注释

"

name变量命名后面可以为"和‘

echo"¥变量" 一定要双引号
echo打印输出

 

 

 

文件系统

 

 

第一列:

常规文件(-)

目录(d)

链接(l)

特殊档案(c)

套接(s)

命名管道(p)

块设备(b)

第二列代表存储块的数量

第三列代表文件的所有者或具有管理权限的超级用户

第四列代表所有者/超级用户组

第五列代表文件大小

第六列表示创建或最后修改文件的日期和时间

最后一列代表文件或目录的名称

r 读

w

x 执行

  • 第一个插位(-)表示由test.sh命名的文件:文件(-)、目录(d),链接(l)
  • 前三个插位(rwx)代表所有者(owner)的权限:文件所有者的权限是读、写和执行
  • 中三个插位代表所属组(group)的权限,r-x代表有读和执行权限,没有写权限
  • 后三个插位代表其他者(others)的权限,同样是读和执行权限,没有写权限

r=4,w=2,x=1  因此rwx=4+2+1=7

- 1 表示连接的文件数

 root 表示用户

-root表示用户所在的组

25 表示文件大小(字节)

表示最后修改日期

 test.sh表示文件名

更改权限

 

chmod [class][operator][permission] file_name 

  • class-ugoa表示,其中u表示用户,g表示组,o表示其他,以及a对所有类。
  • operator(+-)用于添加或删除权限。
  • permission由指示符rwx表示,以分别允许访问以读取,修改或运行脚本。

 

路径

  • 单点(.)代表当前目录。
  • 双点(..)代表当前工作目录的父目录。
  • 波浪号(~)代表已登录用户的主目录。

 

命令行参数或特殊变量

  • $0 - 指定要调用的脚本的名称。
  • $1-$9 - 存储前9个自变量的名称,或可用作自变量的位置。
  • $# - 指定传递给脚本的参数总数(计数)。
  • $* - 通过将所有命令行参数连接在一起来存储它们。
  • $@ - 将参数列表存储为数组。
  • $? - 指定当前脚本的进程ID。
  • $$ - 指定最后一个命令或最近执行过程的退出状态。
  • $! - 显示最后一个后台作业的ID。

 

 

 

 

用户输入

 read方式,如果不用read变量默认REPLY

-p 可以在同一行上输入,-sp例如输入密码输入不是明文

read -p PROMPT <variable_name>

read -sp PROMPT <variable_name>

-a     数组

 

 

 

 

 

 日期时间

date"+<format-option-codes><format-option-codes> <format-option-codes>"

符号是`不是"

 

 

 

 

 运算

 

 

 条件判断

参数直间有空格

 

 

 for语句

 

 

 

 

 

 

{START..END..INCREMENT}

 

字符串

 

 

 

if [ -n str1 ]      当串的长度大于0时为真(串非空) 

if [ -z str1 ]      当串的长度为0时为真(空串)

if [ str1 ]        当串str1为非空时为真

 

 

 

 

截取

${variable:offset:length}

 

 打印日志

>>追加,>覆盖

 

开机启动脚本

 可执行脚本放在

/etc/rc.d/init.d目录下

添加到开机启动里

chkconfig --add xx.h

 

 

 

 

 

 

 

 

 

 

 

 

 

参考https://www.yiibai.com/bash

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原文链接:https://www.cnblogs.com/tk55/archive/2020/05/26/12964416.html

以上是 BashShell基础笔记 的全部内容, 来源链接: utcz.com/z/516802.html

回到顶部