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 运算式

问题1

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

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

(2)截取网站(url变量)访问账号信息

#!/bin/bash
url="https://blog.csdn.net/weixin_45029822/article/details/103568815"
echo $url|cut -d/ -f4

问题2

写一个脚本要求传入用户参数,通过脚本判断该用户用户是否存在,如果存在这显示用户已存在,如果不存在则创建该用户并给该用户设置密码为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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值