首页 > 系统相关 >Linux中shell脚本的初步认识之变量相关操作

Linux中shell脚本的初步认识之变量相关操作

时间:2024-04-01 18:31:17浏览次数:27  
标签:shell var1 变量 echo 括号 12 Linux

4月1日 shell脚本

一 shell 基本语法

1 变量

1)系统变量:不要用户定义的就可以直接使用的变量

常用的系统变量如下: $HOME $PWD $SHELL $USER

echo $HOME
echo $PWD
echo $SHELL
echo $USER
# echo查看系统变量值

2)局部变量:由用户定义的变量,仅在当前shell或shell脚本中有效

var1=linux  # var1是自己取的变量名称, Linux则是我给变量赋的值
var2=mysql
echo $var1 # 是查看var1对应的值》Linux
echo $$ # 显示shell的pid  pid是每一个在运行的进程的编号  
# 此时只有全局变量才能显示,因为进入了子shell
# 因此要想访问变量就必须,把局部变量设置为全局变量
export var1  # 此时局部变量var1就变成了全局变量,这个时候再查看变量就可以看到了
echo $var1 # >> linux
# 如果要再次访问局部变量就要先退出子变量模式
exit

注意:

1)可以使用unset命令撤销变量

2)变量默认类型都是字符串类型,无法直接进行数值运算

3)变量的值如果有空格必须用引号包裹起来才可以成功赋值

echo $var1  # >>linux
unset var1  # 撤销变量
echo $var1  # 此时就变成空白啥都没有

var3='hello nihao' # 中间有空格所以要用引号包裹哦(单引号或双引号都可以哦)

2 运算符

思考:怎么运算(3+12)/5的结果

1)语法一:被括号包裹型

echo $(((3+12)/5))  # 你要运算的要包裹在2个()括号中
echo $[(3+12)/5]

2)语法二:空格和转义符

expr \( 3 + 12 \) / 5 # 应为在Linux中没有规定自动识别()括号的意义在于先运算括号里的内容,所以通过转义符,告诉机器,这个括号是数学运算中的括号,即括号内的计算先进行!

标签:shell,var1,变量,echo,括号,12,Linux
From: https://blog.csdn.net/2301_79810514/article/details/137242676

相关文章

  • linux后台长ping带日期时间写入日志
    搜索一下,常见的写法都一样pingbaidu.com|awk'{printstrftime("%Y-%m-%d%H:%M:%S",systime())"\t"$0;fflush()}'>>long_ping.txt&可在后台进行,但一关闭shell窗口就没了nohuppingbaidu.com|awk'{printstrftime("%Y-%m-%d%......
  • Linux 平台 Centos安装composer
    可以使用以下命令来安装:php-r"copy('https://install.phpcomposer.com/installer','composer-setup.php');"phpcomposer-setup.phpAllsettingscorrectforusingComposerDownloading...Composer(version1.6.5)successfullyinstalle......
  • grafana使用变量过滤时间序列
    这里我们为Dashboard创建了一个名为node的变量,并且指定其类型为Query。Query类型的变量,允许用户指定数据源以及查询表达式,并通过正则匹配(Regex)的方式对查询结果进行处理,从而动态生成变量的可选值函数作用label_values(label)返回Promthues所有监......
  • JMeter前置处理器-Beanshell前置处理器详解
    前言在JMeter中,前置处理器用于在发送HTTP请求之前执行特定的操作。Beanshell前置处理器是一种非常强大的前置处理器,它允许您使用Java语言编写脚本来实现各种复杂的逻辑。本文将介绍如何使用Beanshell前置处理器来执行自定义操作以增强性能测试。什么是Beanshell前置处理器?Bean......
  • linux中防火墙设置(iptables & firewalld & ufw )
       iptables、firewalld和ufw都是Linux系统中常用的防火墙软件,它们之间的区别如下:   iptables:iptables是Linux系统中最原始、最基础、最底层的防火墙软件,它可以直接配置Linux内核中的网络规则,控制网络数据包的流动。由于iptables配置比较复杂,需要对网络协议和规则有......
  • JDK环境变量配置
    打开终端,输入以下命令以编辑/etc/profile文件:sudovi/etc/profile在文件的末尾添加以下内容:exportJAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64//这里根据自己的jdk路径填写exportJRE_HOME=$JAVA_HOME/jreexportCLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPA......
  • Windows、WSL 与 Linux 的性能对比
    Windows、WSL与Linux的性能对比芋道源码我的微信公众号:芋道源码。一起知其然,知其所以然。 105人赞同了该文章 Phoronix网站发布了关于Windows、WSL和Linux的性能基准测试结果。测试的内容包括网络性能、I/O性能、编程语言运行性能和图形......
  • 博客摘录「 linux应急响应」2024年3月12日
    ------***windoes***------方法宸极实验室—『杂项』一篇Windows应急响应的详细笔记-九州信泰的文章-知乎宸极实验室—『杂项』一篇Windows应急响应的详细笔记-知乎利用win+r后输入lusrmgr.msc查询系统是否存在多余的特权、隐藏账户。或者打开控制面板>用户账户......
  • Linux的ftp搭建
    yuminstall-yvsftpd//安装服务vi/etc/vsftpd/vsftpd.conf//编辑配置文件 添加anon_root=/optsystemctlrestartvsftpd//重启ftp服务systemctlstopfirewalld&&systemctlenablefirewalld//永久关闭防火墙 打开第二台虚拟机rm-rf/etc/yum.repos.d/*/......
  • Xshell连接不上Ubuntu
    1ubuntu安装ssh服务器sudoaptinstallopenssh-server修改配置文件vi/etc/ssh/sshd_config修改如下两个配置修改完运行下面代码。再用xhell连接试试。/etc/init.d/sshrestart......