首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

二、SHELL位置变量

1.位置变量说明 $0 获取当前执行的脚本文件名 $n 获取当前执行的脚本的第n个参数,n大于10要用大括号,用于传参 $# 获取当前脚本所有后面所接参数的总个数 $* 获取当前脚本所有传参的参数...1.特殊状态变量 变量 用途 $?...1.语法和功能 变量变量作用说明 ${var:-word} 如果变量未赋值或为空,则用word值替代 ${var:=word} 如果变量未赋值或为空,则用word值赋值并替代 ${var:+word...word}} 如果变量未赋值或为空,则用word值作为错误输出 冒号非必须,省略冒号,则只针对未赋值的变量,加上冒号,就包括为空的变量 2.演示案例 cat /server/scripts/t2.sh...-> ttt #变量已赋值,则用MMM代替输出,查看变量仍然为ttt unset var and echo ${var:?

1.4K20

(23)Bash位置参数变量

位置参数变量 位置参数变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的。...位置参数变量 作用 $n n为数字,$0代表命令本身,$1-9代表第一到第九个参数,十以上的参数需要用大括号包含,如9代表第一到第九个参数,十以上的参数需要用大括号包含,如9代表第一到第九个参数,十以上的参数需要用大括号包含...,如{10}. $* 这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体 $@ 这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待 $# 这个变量代表命令行中所有参数的个数 例1...②通过$n实现一个简单的加法计算器 $n就是用来把你的命令和命令后面跟的参数传递给脚本中的$n(n=1,2,3,4…)代表的位置参数变量 ? 例2.$#、$*、$@ ①简单演示 ?

84720
您找到你想要的搜索结果了吗?
是的
没有找到

变量,常量,静态变量存储的位置

常见的存储区域可分为: 1、栈 由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。...例2:static全局变量与普通全局变量有什么区别?...答:static全局变量和普通全局变量存储区域相同,不同的是: static全局变量只在声明此static全局变量的文件中有效; 普通全局变量对整个源程序都有效,当此源程序包含多于一个文件的程序时,对其他文件依然有效...例3:static局部变量与普通局部变量的区别?...答:static局部变量的存储区为静态存储区,普通局部变量的存储区为栈; static局部变量生存周期为整个源程序,但是只能在声明其的函数中调用,并且其值与上一次的结果有关;而普通局部变量的生存周期为声明其函数的周期

1.1K10

shell_环境变量_常量_位置变量_运算(3)

文章目录 保存永久环境变量 常量 位置变量 ln -s 源文件 连接文件 ls |wc -l pidof shift $?...个用户的id的和 比较 如果磁盘空间大于80% 给出提示信息 保存永久环境变量 1.root用户:   在/etc/profile文件中添加变量【对所有用户生效(永久的)】   并执行以下代码   ...{ name=mage;echo $name; } 注意结尾也有;把命令当作一个整体去执行 位置变量 1. $1...$10表示执行脚本时后面跟的第几个参数/脚本内部函数的参数 1. test.sh....sh arg is a b c >#f2.sh arg is a b c 将$*换成$@时 >#f2.sh arg is a 5.set -- 清空所有的位置参数...[ num1 -eq num2 ] 如果磁盘空间大于80% 给出提示信息 df -h |grep "^/d[a-z]"|awk -F " " '{ print $5}'|sort -nr|head -

61530

10-变量

系统变量 # 变量 /* 系统变量 全局变量 会话变量 自定义变量 用户变量 局部变量 */ # 一。...系统变量 # 变量由系统提供,不由用户定义,属于服务器层面 /* 使用语法:(不写global,session默认使用会话变量) 1....为某个具体的系统变量赋值 # 方式1 SET 【session.】系统变量名=值; # 为会话变量赋值 SET GLOBAL.系统变量名=值 # 为系统变量赋值 #方式2 SET GLOBAL.系统变量名...SET @用户变量名=值; SET @用户变量名:=值; SELECT @用户变量名:=值; SET @v1=20; # 赋值或更新用户变量的值 SET @用户变量名=值; SET @用户变量名:...并且只能在其中的第一句位置 */ # 声明: DECLARE 变量名 数据类型; # 声明并初始化 DECLARE 变量名 数据类型 DEFAULT 值; # 赋值,与用户变量的区别在于不需要在变量名前加

13130

equals方法变量和常量位置区别

我们说的左右位置是基于一个常量一个变量来说的,如果都是变量那么左右位置没有任何区别。...s6 = stringtokenizer.nextToken(":/"); if (s6.equals("/")) { String s8 = null; String s10...在找db2 9.7fp11与fp4 jdbc驱动有什么区别的时候,反编译了一下官方驱动jar包,发现里面不少equals方法依然把未知变量放到了equals的左边,已知放到了右边,难道IBM程序员水平这么次么...变量放到左右有什么区别吗?此时拿出权威的jdk api来看看吧。 equals public boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。...equals("0"));//Exception in thread "main" java.lang.IndexOutOfBoundsException: 由此我们可以知道,当equals中有个一个是变量

79921

关于for循环中变量定义的位置

问题 最近跟同事讨论for循环中变量定义在哪里的问题。...看2段IL的代码,我们很容易就发现,其实不管是哪种写法,生成的IL几乎是一样的,不同的只是locals init初始化变量的顺序先后的差异。对于第一种写法IL并没有在循环体内去每次都声明obj变量。...但是第二种写法的obj变量必定还保持着最后一次循环所创建的对象。这个对象的释放会被限制,且后面的新人接手你的代码时容易误操作了这个变量,造成不必要的bug。...结果如下: 不出所料,IL在一开始就把所有的变量都初始化好了。...解惑 @钧梓昊逑 方法内部的临时变量是在进入方法时就在栈上分配的,通过栈顶指针的移动实现变量分配与回收,效率是极高的,对于你说的内存浪费,的确会有,这也是为什么推荐写小方法的原因。

1.3K30

【C 语言】变量本质 ( 变量概念 | 变量本质 - 内存空间别名 | 变量存储位置 - 代码区 | 变量三要素 )

文章目录 一、变量概念 二、变量本质 1、变量本质 - 内存别名 2、变量存储位置 - 代码区 3、变量三要素 一、变量概念 ---- 变量概念 : 变量 是 既能读 , 又能写 的 内存对象 ; 与...变量 相对的一个概念是 常量 , 常量一旦初始化之后 , 就 不能修改 ; 变量定义 : 数据类型 变量标识符1, 变量标识符2, ... , 变量标识符n; 使用 int a; 定义了一个变量 a...别名 , 相当于 门牌号 ; ( 变量的本质是 门牌号 , 内存别名 ) 变量概念中 , 变量 是 既能读 , 又能写 的 内存对象 ; 通过 变量 读写的对象 是 内存 , 不是变量 , 变量只是 内存的别名..., 相当于门牌号 ; 2、变量存储位置 - 代码区 变量是内存标号 , 要放在内存外面 ; 程序执行时 , 变量本质是代码 , 在 代码区 存储 ; 内存四区 从下到上 : 代码区 | 全局区 | 栈区...| 堆区 ; 3、变量三要素 变量三要素 : 名称 大小 作用域 变量的生命周期 : 变量仅在定义的大括号内有效 ;

96620

Mac 设置环境变量位置、查看和添加PATH环境变量

Mac 启动加载文件位置(可设置环境变量) (1)首先要知道你使用的Mac OS X是什么样的Shell,使用命令 echo $SHELL 如果输出的是:csh或者是tcsh,那么你用的就是C Shell...那么你可以把你要添加的环境变量添加到你主目录下面的.profile或者.bash_profile,如果存在没有关系添加进去即可,如果没有生成一个。 Mac配置环境变量的地方 1..../etc/bashrc    (一般在这个文件中添加系统级环境变量) 全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。...添加PATH环境变量: [root@localhost u-boot-sh4]#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH 查看PATH环境变量...如果想立刻生效,则可执行下面的语句: $ source .bash_profile(这是文件名) 环境变量更改后,在用户下次登陆时生效。

4.2K10

c-各变量在内存中的位置

浏览量 2 关于变量分配的相关知识,笔者之前也看过,但是最近遇到了一个相关的题目,发现有些还是没有搞清楚,或者说是遗忘了一些,在此重新学习一下,顺便做一下相关的笔记,以下的一些知识是查看网络上面的一些文章总结而来...#include int a; // data段,bss储存区,未初始化变量,由系统初始化为0 static int b; // data段,bss储存区,由系统初始化为0 int...c[10] = { 1, 2, 3, 4, }; // data段,已初始化变量,具有rw(读写)属性 char *p = "china"; // p在data段的已初始化变量区,具有rw(读写)属性...,由系统初始化为0 static int n = 6; // data段,已初始化变量,具有读写属性 int x[5] = { 1, 2, 3, 4, 5 }; //...// q在栈上 // "who am i" 在data 已初始化段的只读(字符串常量)区域 char *k = (char*)malloc(sizeof(char) * 10

39010

设置Win10系统桌面储存位置的方法 Windows10系统桌面位置怎么设

设置Win10系统桌面储存位置的方法 Windows10系统桌面位置怎么设置 一般情况下,Win10系统桌面储存位置都在C盘,C盘本来就不大,而且还储存了我们安装的系统。...那如何将桌面储存位置改到其它盘中呢?今天,就由小编和大家说一下设置Win10系统桌面储存位置的方法。...具体如下: 1、首先双击win10桌面上的“这台电脑”,然后进入到系统盘(一般为C盘),然后依次打开文件夹“用户“——”你的用户名(如administrator)“然后找到“桌面”文件夹,该文件夹就是存放你个人桌面文件的目录了...上述也就是设置Win10系统桌面储存位置方法的内容了。为了更好的节省C盘空间,我们及时清理一些没有必要的文件,也可以将它转到其它硬盘中。...亲自测试,可行 未经允许不得转载:肥猫博客 » 设置Win10系统桌面储存位置的方法 Windows10系统桌面位置怎么设

2.3K60

java+内存分配及变量存储位置的区别

当在一段代码块定义一个变量时,Java就在栈中 为这个变量分配内存空间,当该变量退出该作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。...引用变量是普通的变量,定义时在栈中分配,引用变量在程序运行到其作用域之外后被释放。...:成员变量就是方法外部,类的内部定义的变量;局部变量就是方法或语句块内部定义的变量。...局部变量必须初始化。  形式参数是局部变量,局部变量的数据存在于栈内存中。栈内存中的局部变量随着方法的消失而消失。  成员变量存储在堆中的对象里面,由垃圾回收器负责回收。 ...year = y;   9.    }   10.    省略get,set方法………   11.}   12.   13.public class Test{   14.

84110
领券