0
点赞
收藏
分享

微信扫一扫

shell学习训练&&总结_2

东林梁 2022-01-13 阅读 79

shell学习训练&&总结_2

变量赋值方式

  1. 直接赋值
x=123 #这就是直接赋值
  1. 使用命令行参数赋值
haha=1
H=$haha #这个H就是通过命令行参数赋值
  1. read命令获取输入值赋值
read Get_input -p"input:" 
123 #输入一串数字,将其赋给Get_input这个变量 
echo $Get_input # $变量为调用该变量值
123 #显示Get_input变量的值
  1. 用命令赋值
a=$(ifconfig)
echo a
:输出得到的a应为ip参数

预定义变量(linuxShell内置变量)$@ 和$*的区别

当$@和$没有被双引号括起来的时候含义一样,都是将接收到的每个参数看做一份数据

  • 当$@加上双引号的时候,"$@“会把每个参数看成独立的一份数据:
    编写一份shell文件测试:
    在这里插入图片描述
    在这里插入图片描述
    根据测试,可以看出在测试的时候”$@"以空格为分隔符将wo看成独立的一份数据输出,同样对shi和chaoren也一样。
  • 当$加上双引号的时候,"$“会把每个参数综合在一起看成一份数据
    编写一份shell文件测试:
    在这里插入图片描述
    在这里插入图片描述
    根据测试可以看出,”$*将wo shi chaoren作为一份数据输出,体现在输出面板上是以一行的形式输出。

算数运算命令

设a为变量:

  1. a=$((运算式))

  2. a=$[运算式]

  3. echo “运算式”|bc
    ①. bc 命令是任意精度计算器语言,通常在linux下当计算器用。它类似基本的计算器, 使用这个计算器可以做基本的数学运算。
    ②. 通过将echo的结果通过管道符与bc运算器命令连接,令echo输出的结果进行运算。

  4. declare –i a=运算式
    申明整形变量对数值进行运算

  5. let a=运算式

  6. expr 运算式

问题3

定义变量url=https://blog.csdn.net/weixin_45029822/article/details/103568815
1)截取网站访问的协议

#!/bin/bash
url="https://blog.csdn.net/weixin_45029822/article/details/103568815"
echo ${url%%:*}

2)截取网站访问账号信息

5.写一个脚本要求传入用户参数,通过脚本判断该用户用户是否存在,如果存在这显示用户已存在,如果不存在则创建该用户并给该用户设置密码为redhat,同时在终端输出用户成功创建。

#!/bin/bash
read -p"ÊäÈëÓû§Ãû:" user
id $user &>/dev/null&&echo "用户已存在"||(useradd $user &>/dev/null&&echo redhat|passwd --stdin $user &>/dev/null&&echo 用户成功创建)

测试:
在这里插入图片描述
在这里插入图片描述

总结:
1.shell动态语言(弱变量类型)
2.变量定义方式
(1)变量名命名格式
(2)变量赋值方式4种
3.变量分类
自定义变量
环境变量
只读变量
位置变量
预定义变量
变量赋值变量引用方式查看变量取消
4.变量作用域
5.变量子串
- S{#PATH}
- 切片:
- 截取#%
- 替换/
- expr
举报

相关推荐

0 条评论