shell脚本编程

shell脚本基础

一、shell脚本的第一行总是以一个固定的语句开头;

#!/bin/sh

#!/bin/bash

这行语句表示这段脚本使用程序/bin/sh解释器对其进行解释并且执行,这个解释器就是shell。
在第二行注释中写入脚本名是一个好习惯。

#!/bin/sh
#test.sh

#输出一个字符串hello world
echo "hello world"

bash和sh的区别:

SH: sh就是Bourne shell 这个是UNIX标准的默认shell,对它评价是concise简洁 compact紧凑 fast高效,由AT&T编写,属于系统管理shell.
BASH: bash是 GNU Bourne-Again SHell (GNU 命令解释程序 “Bourne二世”)
是linux标准的默认shell ,它基于Bourne shell,吸收了C shell和Korn shell的一些特性。bash是Bourne shell的超集,bash完全兼容Bourne shell,也就是说用Bourne shell的脚本不加修改可以在bash中执行,反过来却不行,bash的脚本在sh上运行容易报语法错误。

二、shell中的变量:定义、赋值和删除

1. 变量的类型

shell脚本中的变量都是字符串,但shell允许比较操作和整数操作,其中关键因素是,这个整形变量中的值是否只有数字。如果只有数字则在进行整数操作时将其解释为一个整型;如果还包含其它的字符,则只能将其解释为字符串。

2. 变量的操作

变量名=变量值,等号前后不能有空格;

a=1
author=“ZJL”

变量的引用

符号说明示例结果
转义字符“\”如果将\放到特殊字符前面,shell就忽略这些特殊字符的原有含义,把它们当作普通字符对待mul=$((3 \ * 2)) 备注:\与*间无空格6
单引号如果将字符串放到一对单引号之间,那么字符串中所有字符的特殊含义被忽略name=‘作家的名字是${author}’作家的名字是${author}
双引号双引号的引用与单引号基本相同,包含在双引号内的大部分特殊字符可以当作普通字符处理,但是仍然有一些特殊字符保留自己的特殊含义,比如”$“和“\”以及“ ` ”name=“作家的名字是${author}”作家的名字是ZJL
$var 或 ${var}直接引用name=$authorZJL

删除变量的赋值:unset 变量名

unset $author

表达式求值:exper命令 或 $((表达式))

expr 3 + 2
expr 3 \ * 2
$((3 + 2))

位置变量:运行一个shell脚本时,可以向脚本传递命令行参数;

$0 表示当前执行进程的文件名,也就是程序的执行文件名;
$1 ~ $9 对应命令参数的位置
$ ./args.sh arg1 arg2 arg3
即$0为./args.sh $1为arg1 …

友善链接:

  1. shell变量和引用:https://blog.csdn.net/m0_43379189/article/details/119697139
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值