您的当前位置:首页正文

shell(一)——概述、变量、运算符

来源:爱站旅游
导读shell(一)——概述、变量、运算符

shell概述

shell是一个命令行解释器,它接收应用程序/用户的指令,调用操作系统内核

shell还是一个功能强大的编程语言,易编写,易调试,灵活性强

shell解析器

Linux提供的shell解析器:

  • /etc/shells/bin/sh
  • /etc/shells/bin/bash
  • /etc/shells/sbin/nologin
  • /etc/shells/bin/dash
  • /etc/shells/bin/csh
  • /etc/shells/bin/tcsh

shell脚本入门

脚本格式
  • 脚本要以#!bin/bash开头,其含义为指定解析器
helloworld

创建helloworld.sh文件,写入如下

#!/bin/bash
echo "hello world!"
脚本的执行
sh helloworld.sh
bash helloworld.sh
  1. 采用输入脚本的绝对路径或相对路径执行脚本(需要有可执行权限+X)
# 赋予权限
chmod 777 helloworld.sh
# 执行
./helloworld.sh
  1. 多命令处理
# 在/data目录下创建一个test.txt且添加:hello test
#!bin/bash
cd /data
touch test.txt
echo "hello test ">> test.txt

shell中的变量

系统变量

常用系统变量

$HOME$PWD,$SHELL,$USER

自定义变量

基本语法
  • 定义变量:变量=值
  • 撤销变量:unset 变量
  • 声明静态变量:readonly 变量

静态变量不能unset

变量定义规则
  • 变量名可以由字母、数字、下划线组成,但是不能以数字开头。环境变量名建议大写
  • 等号两侧不能有空格
  • 在bash中,变量默认类型都是字符串类型,无法直接进行数值运算
  • 变量的值如果有空格,需要使用双引号或单引号括起来
特殊变量
$n

n为数字,$0代表给脚本名称,$1- 9 代 表 第 一 到 第 九 个 参 数 , 十 以 上 的 参 数 , 十 以 上 的 参 数 需 要 用 大 括 号 包 含 , 如 9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如 9{10})

∗ 和 * 和 @
  • $* 这个变量代表命令行中所有参数,把所有参数看成一个整体
  • $@代表命令行中所有的参数,但是把所有参数分开对待
$?

最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;

如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。

运算符

基本语法:

  • $((运算式子))$[运算式子]
  • expr + 加(减、乘、除、取余与之类似)

因篇幅问题不能全部显示,请点此查看更多更全内容

Top