shell编程之变量
变量:
变量由字母、数字、_ 组成,不能以数字开头
长度不能超过255个字符
在bash中,变量的默认类型是字符串类型
变量分类:
1、用户自定义变量:只在当前shell生效,是局部变量
定义方法: 变量名=变量值 #等号两边没有空格
调用方法: $变量名
变量查看: set命令查看所有变量 选项: -u #如果设定此选项,调用未声明变量是时会报错(默认无提示)
删除变量: unset 变量名
变量叠加: x=${x}test 或 x="$x"test
2、环境变量:这种变量中主要保存和系统操作环境相关的数据。变量可以自定义,但是对系统生效的环境变量名和变量作用是固定的,在当前shell和子shell中生效,是全局变量
定义方法: 环境变量名建议大写
export 变量名=变量值
或 变量名=变量值 ; export 变量名
查看方法: env查看环境变量
删除: 只能在创建变量的shell中删除
常用环境变量:
HOSTNAME 主机名
SHELL 当前shell
TERM 终端环境
HISTSIZE 历史命令条数
SSH_CLIENT 记录ssh客户端ip
SSH_TTY ssh连接的终端
USER 当前登陆用户
PATH 系统搜索命令的路径
3、位置参数变量:预定义变量的一种,主要是用来向脚本当中传递参数或数据的(实际上常用read命令来代替,后文有提),变量名不能自定义,变量作用固定
$n写在脚本中,作用是把数据传入脚本,如:/root/calcu.sh 32 13 ,其中$0就代表/root/calcu.sh,32就代表$1,13就代表$2
4、预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的
$$最近进程的进程号
接收键盘输入
- read 【选项】【变量名】 #多用于脚本中接收用户输入
选项:
-p "提示信息" #在等待read输入时,输出此提示信息
-t 秒数 #read命令会一直等待用户输入,此选项可以指定等待时间
-n 字符数 #read命令只接收指定的字符数,收到后自动执行
-s #隐藏输入的数据,适用于机密数据的输入
shell编程之变量的更多相关文章
- Linux学习——shell编程之变量
shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...
- Linux —— Shell编程之变量赋值和引用
Linux的shell编程是一种非常成熟的编程语言,它支持各种类型的变量.有三种主要的变量类型:环境变量.内部变量和用户变量. 环境变量(environment variable)是系统环境的一部分, ...
- Linux编程 21 shell编程(环境变量,用户变量,命令替换)
一.概述 这篇介绍shell的变量使用,跟其实语言一样,都有声明变量,使用变量,在shell中变量允许你临时地将信息存储中shell脚本中,以便和脚本的其他命令一起使用. 1.1 环境变量 在前面章节 ...
- Shell编程-02-Shell变量
目录 什么是Shell变量 变量类型 环境变量初始化及其对应文件的生效顺序 什么是Shell变量 在初等数学数学方程式中,我们会经常碰到类似于这样的方程式:y=x+1 ,等号左右两边的x和y称 ...
- Linux Shell编程、变量、控制语句
为什么要学习Shell编程 1)Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理. 2)对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些 ...
- linux shell编程之变量和bash配置文件(第一篇)
编程语言有两类 强类型:如C语言.数据具有其特定的类型,先声明定义后才能使用.数据运算时必须符合类型要求(如不能把字符串类型数据直接与整型数据做算数运算) 弱类型:如shell.数据默认为字符型,不用 ...
- SHELL编程概念&变量剖析
一.shell软件概念和应用场景 1) 学习Linux技术,不是为了学习系统安装.命令操作.用户权限.配置IP.网络管理,学习Linux技术重点:基于Linux系统部署和维护各种应用软件.程序(Apa ...
- Shell 编程 (变量和条件测试)
变量: 1 . 变量声明 直接使用变量 + 赋值 #!/bin/bash NAME='HELLO WORD' echo $NAME 使用 declare 关键字声明 declare(选项)(参数) + ...
- Shell编程之变量进阶
一.变量知识进阶 1.特殊的位置参数变量 实例1:测试$n(n为1...15) [root@codis-178 ~]# cat p.sh echo $1 [root@codis-178 ~]# sh ...
- Shell编程——环境变量
在Shell程序启动时会自动定义一组变量,这组变量就是环境变量,系统中的所有命令都可以使用这些变量参数. 1.如果在父Shell定义环境变量,在子Shell中也能查看到. (1)父Shell与子She ...
随机推荐
- MVC中的成员资格,授权,安全性
使用 Authorize 特性登录 Authorize 是 ASP.NET MVC 自带的默认授权过滤器, 可用来限制用户对操作方法的访问. 保护控制器操作 Authorize 特性在表单身份验证和 ...
- [Android Tips] 24. Gradle listing project dependencies
./gradlew app:dependencies or install this Android Studio Plugin https://github.com/rholder/gradle-v ...
- C#,C++修改vs文件模板,添加自定义代码版权版本信息
简单型的修改类似该路径下的模板文件即可(vs版本或安装路径不同路径可能不同) C#: 模板参数参考https://msdn.microsoft.com/zh-cn/library/eehb4faa.a ...
- php判断是否为微信浏览器访问
今天遇到个问题,就是需要判断是否在微信浏览器内访问: if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) { ...
- activiti 里面各个方法理解
/** Return the intent that started this activity. */public Intent getIntent() { return mIntent;} pub ...
- jsonp
一次关于JSONP的小实验与总结 前言: 今天,无意间看到自己某个文件夹下有个JSONP的东西.慢慢回忆起,这个东西是之前想写的一个demo,也不知道是多久以前了,但是不知道怎么的,给忘那边了.那 ...
- 纯html、css3、js的时钟
之前在网上看了一些使用js写的时钟,但感觉实现的方法有点麻烦,所以就自己重新写了一个例子,样子有点丑,但方法比较简单,大家就凑合看吧 其中采用的主要方法是原生js里面的Data(时期)对象,以及它的. ...
- 第二天 ado.net, asp.net ,三层笔记
1. ado.net步骤: 一:倒入命名空间 using System.Data; using System.Data.sqlclient; 二:第一个模型 int ...
- javaweb 学习资源
http://jinnianshilongnian.iteye.com/category/231099
- jquery.serialize
jQuery - serialize() 方法 serialize() 方法通过序列化表单值,创建 URL 编码文本字符串. serialize()函数用于序列化一组表单元素,将表单内容编码为用于提交 ...