资讯专栏INFORMATION COLUMN

变量的声明及其作用域、脚本、修改环境变量$PATH【:VALUE】、算术运算

_DangJin / 1217人阅读

摘要:变量的声明及其作用域本地变量作用域为整个进程打开新的进程,没有该变量局部变量作用域为当前代码段环境变量作用域为当前及其子进程打开一个就是一个进程或者位置变量参数参数剔除变量第一个参数被剔出,现在是原来的第二个参数了第三个了依次类推,逐个剔除

变量的声明及其作用域 本地变量

VARNAME=VALUE:作用域为整个bash进程【打开新的shell进程,没有该变量】

[root@jiakang a]# A=123
[root@jiakang a]# bash
[root@jiakang a]# echo $A

[root@jiakang a]# 
局部变量

local VARNAME=VALUE:作用域为当前代码段

环境变量

作用域为当前shell及其子进程【打开一个shell就是一个进程】

export VARNAME=VALUE或者

VARNAME=VALUE export VARNAME

[root@jiakang a]# export NAME=jiakang
[root@jiakang a]# bash
[root@jiakang a]# echo $NAME
jiakang
位置变量

$1,$2,...【参数1、参数2...】

shift : 剔除变量

[root@jiakang a]# cat testshift.sh 
#!/bin/bash
echo $1
shift
echo "第一个参数被剔出,现在$1是原来的第二个参数了"
echo $1
shift
echo "第三个了,依次类推,逐个剔除"
echo $1

[root@jiakang a]# ./testshift.sh 1 2 3
1
第一个参数被剔出,现在2是原来的第二个参数了
2
第三个了,依次类推,逐个剔除
3
特殊变量

$?:上一个命令的执行状态返回值

$#:参数的个数

$*:参数列表

$@:参数列表

[root@jiakang a]# cat testvar.sh
#!/bin/bash
echo $#
echo $*
echo $@
[root@jiakang a]# ./testvar.sh 
0


[root@jiakang a]# ./testvar.sh testif.sh test.sh
2
testif.sh test.sh
testif.sh test.sh
撤销变量

unset VARNAME

查看当前shell的变量

set

查看当前shell的环境变量

env、printenv、export

脚本

脚本的执行方式有两种,一种是直接调用shell执行,把脚本的代码当作bash的参数

[root@jiakang a]# cat test.sh
ls -l
[root@jiakang a]# bash test.sh
总用量 8
drwxr-xr-x. 3 root root 4096 3月  28 16:34 b
-rw-r--r--. 1 root root    7 4月   4 20:13 test.sh

第二种是,开头声明魔数,脚本写完后添加执行权限
魔数:shebang【脚本的第一行,调用那种shell去执行脚本】
#!/bin/bash

[root@jiakang a]# vi test.sh
[root@jiakang a]# cat test.sh
#!/bin/bash
ls -l
echo "第二中,魔数"
[root@jiakang a]# chmod +x test.sh
[root@jiakang a]# ./test.sh
总用量 8
drwxr-xr-x. 3 root root 4096 3月  28 16:34 b
修改环境变量$PATH

使用:VALUE可以把该:VALUE与变量拼装,用这个方法可以修改环境变量

[root@jiakang a]# A=root
[root@jiakang a]# A=$A:usr
[root@jiakang a]# echo $A
root:usr
[root@jiakang a]# export PATH=$PATH:/bin
[root@jiakang a]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/bin/bash:/bin
算术运算

在bash中是不能进行算术运算的,可以使用下面几个方法进行算术运算

A=3
B=6
1、 let 算术运算表达式
  let C=$A+$B
2、 $[算术表达式]
  C=[$A+$B]
3、 $((算术表达式))
  C=$(($A+$B))
4、 expr `算术表达式`【各操作数和运算符之间要有空格,并且使用命令引用】
  C=`expr $A + $B`

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/9891.html

相关文章

  • JavaScript学习笔记(一)

    摘要:虽然会输出,但是这只是存在的一个悠久。在的最初版本中使用的是位系统,为了性能考虑使用低位存储变量的类型信息,开头代表是对象,然而表示为全零,所以将它错误的判断为。 参考来源: JavaScript高级程序设计: book.douban.com/subject/105… 千古壹号: github.com/qianguyihao… 小册前端面试之道: juejin.im/book/5bdc71…...

    pingan8787 评论0 收藏0
  • JavaScript基础知识

    摘要:用和包裹的内容,称为字符串。关系运算符用于进行比较的运算符。强制依赖于,非强制依赖于。使用场合全局环境构造函数对象的方法闭包闭包是指有权访问另一个函数作用域中的变量的函数。所有全局对象函数以及变量均自动成为对象的成员。 1 什么是JavaScript JavaScript一种直译式脚本语言,一种基于对象和事件驱动并具有安全性的客户端脚本语言;也是一种广泛应用客户端web开发的脚本语言。...

    Code4App 评论0 收藏0
  • PHP学习 Day 3 语言参考

    摘要:扫下手册的语言参考。允许的强制转换有。错误控制置于表达式前时,忽略该表达式产生的错误信息。运行外部程序使用反引号,效果等同于函数。文件未找到时,给出错误,而仅仅给出警告。目标位置用目标名称加上冒号标记,必须位于同一文件和作用域。 扫下手册的语言参考。(函数以前) 类型 有boolean、integer、float、string、array等类型。 可以通过gettype函数查看类...

    sean 评论0 收藏0
  • 前端基础入门四(JavaScript基础)

    摘要:学习目标掌握编程的基本思维掌握编程的基本语法我们先来学习基础,后续会讲解高级。语句基本语法当循环条件为时,执行循环体,当循环条件为时,结束循环。基础语法循环体循环条件代码示例初始化变量循环体自增循环条件语句和一般用来解决无法确认次数的循环。 学习目标: 掌握编程的基本思维 掌握编程的基本语法 我们先来学习JavaScript基础,后续会讲解JavaScript高级。 重点内容 变...

    王军 评论0 收藏0
  • 前端基础入门四(JavaScript基础)

    摘要:学习目标掌握编程的基本思维掌握编程的基本语法我们先来学习基础,后续会讲解高级。语句基本语法当循环条件为时,执行循环体,当循环条件为时,结束循环。基础语法循环体循环条件代码示例初始化变量循环体自增循环条件语句和一般用来解决无法确认次数的循环。 学习目标: 掌握编程的基本思维 掌握编程的基本语法 我们先来学习JavaScript基础,后续会讲解JavaScript高级。 重点内容 变...

    SnaiLiu 评论0 收藏0

发表评论

0条评论

_DangJin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<