【shell 学习一】shell执行方式以及变量(自定义变量、整数运算)定义

发布于:2024-06-26 ⋅ 阅读:(102) ⋅ 点赞:(0)

1.shell执行方式

测试脚本
vim file1
echo 'hello 2024'
read -p '请输入' name
echao 'hh,$name'

执行1
bash file1

执行2
sh file1

执行3
. file1

执行4
source file1

12的方式,是子shell
34的方式,是本shell
bash是进入新的命令 这时候退出edit是退出这个新的命令 而不是退出系统


准备环境测试
cim bash.sh
#!/usr/bin/bash
cd /home
ls

一种执行方式测试
.bash.sh

在这里插入图片描述
在这里插入图片描述

2.变量


定义变量:变量名=变量值

引用变量:$变量名  或 ${变量名}


查看变量: echo $变量名   或  echo "$变量名" 或者  echo ${变量名}
 "set"可以查看所有变量(包括自定义变量和环境变量)
 
 set  | grep  变量名    //查看变量 过滤
  set  | grep  name
 
取消变量:unset 变量名  删除变量
unset  变量名
unset  name

定义:
name="yqq"
$name //yqq

name=yqq

a=123
a="$a"456  或者  a=${a}456   //a=$a456 错误没有变量$a456
$a // 123456

错误定义:
变量名不能以数字开头
等号左右两侧不能有空格 
变量的值如果有空格,必须用引号包含

定义或引用变量时注意事项
""弱引用
''强引用  里面的变量会当成字符串处置
``优先执行的变量

2.1自定义变量

示例1
编写测试主机在线的脚本,当主机在线提示在线,当主机不在线提示不在线。

vim ping.sh
ping -c 1 192.168.100.1  &>  /dev/null  && echo 192.168.100.1up
 ||  echo 192.168.100.2down
 
 chomd +x ping.sh  //授权
 
 bask ping.sh //  up 在线
 
&&和川是三目表达式
注释&&前面的命令成功。执行后面的命令
||前面的命令失败。执行后面的命令


完善脚本  ip设置为变量

vim  ping.sh
#!bin/bash
ip=192.168.100.1
ping -c 1 $ip &> /dev/null && echo "$ip up" || echo "$ip down"


完善脚本  ip为用户输入的变量
 vim ping.sh
 read -p "请输入你要测试的ip" ip
 ping -c 1 $ip &> /dev/null && echo "$ip up" || echo "$ip down"

在这里插入图片描述

2.2整数运算

方法1:expr   +-减  \*乘(*是任意字符,使用\转义一下。) /%取余
expr  1 + 2   //3
num1=10
num2=10
expr $num1 + $num2  //20
expr $num1 - $num2  //0
expr $num1 \* $num2  //100

示例:运算学员的成绩总分
vim avg.sh
#!bin/bash
read -p "请输入第一门成绩"  num1
read -p "请输入第二门成绩" num2
echo  -n "总成绩"
expr  $num1 + $num2

chomd -x avg.sh




方法2:$(())
echo $(($num1+$num2))
echo $((5-3*2))
echo $((2**3)) //蜜  2的3次方

方法3:$[]
echo $[5+2]  + = * / %
echo $[5**2]

方法4let
let sum=2+3;echo sum



在这里插入图片描述