shell编程是为了简化管理操作。 1、base变量与变量分类
base是Linux的标准shell。 base变量
set:查询系统下所有环境变量
env: 查看系统下环境变量
unset:删除变量
a.什么是变量与变量分类
变量由字母和下划线开头,由字母下划线数字组成。
变量名的长度不超过255个字符。
变量名在有效范围内必须是唯一的。
在base中,变量的默认类型都是字符串型。
变量按照存储数据类型分类:字符串型、整型、浮点型、日期型。
变量的分类:
用户自定义变量,变量自定义的;
环境变量,保存的是和系统操作环境相关的数据;但是对系统生效的环境变量名和变量作用是固定的;
位置参数变量,主要用来向脚本中传递参数和数据,变量名不能自定义,变量作用是固定的;
与定义变量,是base中已经定义好的变量;变量名不能自定义,变量作用也是固定的;
b.用户自定义变量
定义变量:变量名=变量值(等号两侧没有空格)
变量调用:echo $变量名
变量默认字符串类型
变量叠加:x="$x"456或者x=${x}456
set:查询系统下所有环境变量
unset:删除变量
c.环境变量
环境变量是全局变量,用户自定义变量只在当前shell生效
对系统生效的环境变量名和变量作用是固定的
设定环境变量: export 变量名=变量值 或者 变量名=变量值 export 变量名
env: 查看系统下环境变量
常用环境变量:
BASE/SHELL/HOSTNAME/HOSTSIZE/SSH_CLIENT/USER/PATH/HOME/LANG等
建议环境变量大写
PATH:系统搜索命令路径目录,PATH="$PATH":/usr/local/apache
想要永久生效,需要把内容写入文件里面
PS1环境变量: \u,\A,\h,\W,\w,\s, 语系变量:
当前语系查询:locale
LANG:定义系统主语系的变量
LC_ALL:定义整体语系的变量
cat /etc/sysconfig/i18n 系统默认语系
d.位置参数变量
$n,n为数字,1-9
vim num.sh
#! /bin/bash
num1=$1
num2=$2
sum=$(($num1+$num2))
#变量sum是num1和num2的综合
echo $sum 执行 ./num.sh 11 22 $*,这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体 $@,这个变量也代表命令行中所有的参数,不过$@吧每个参数区分对待 $#,这个变量代表命令行中所有参数的个数 e.预定义变量
$?,最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值非0,则证明上一个命令执行不正确。
$$,当前进程的进程号
$!,后台运行的最后一个进程的进程号 接受键盘输入
read [选项][变量名]
-p "提示信息":在等待read输入时,输出提示信息
-t 秒数:read命令会等待用户输入,这里指定等待时间
-n 字符数:read命令只接受指定的字符数,就会执行
-s:隐藏输入的数据,使用于机密信息的输入 vim read.sh
#! /bin/bash read "please input your name:" -t 30 name
echo $name read "please input your pass:" -t 30 -s pass
echo pass
Linux_10------Linux之shell编程------变量的更多相关文章
-
Linux下Shell编程
Linux的shell编程 1.什么是shell? 当一个用户登录Linux系统之后,系统初始化程序init就为每个用户执行一个称为shell(外壳)的程序. shell就是一个命令行解释器,它为用户 ...
-
【Hadoop离线基础总结】linux的shell编程
linux的shell编程 基本了解 概述 Shell是一个用C语言编写的程序,通过shell用户可以访问操作系统内核服务,它类似于DOS下的command和后来的cmd.exe.Shell既是一种命 ...
-
Linux 下shell 编程学习脚手架
linux body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-t ...
-
shell编程变量赋值
[shell编程变量赋值] 1.等号两边均不能有空格存在.例, a="hello world" 2.变量和其它文字以{}或空格格开,否则会混淆.例, 有时候变量名可能会和其它文 ...
-
【Linux】linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法
linux bash shell之变量替换::=句法.=句法.:-句法.-句法.=?句法.?句法.:+句法.+句法 linux bash shell之变量替换::=句法.=句法.:-句法.-句法. ...
-
Linux学习——shell编程之变量
shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...
-
Linux Shell编程变量赋值和引用
我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行): #!/bin/sh ... 注意:最好使用“! ...
-
Linux学习——shell编程之环境变量配置文件
小白学习,在学习中总结! shell编程之环境变量配置文件 一:环境变量配置文件 1 shell编程之环境变量配置 变量类型: 用户自定义变量(本地变量) 环境变量 :定义每个用户的操作环境,如pat ...
-
linux中shell编程
shell编程 1 echo -e 识别\转义符 \a \b \t \n \x十六进制 \0八进制 等等 #!/bin/bash echo -e "hello world" 执行脚 ...
随机推荐
-
Django中的QuerySet查询优化之select_related
在数据库有外键的时候,使用 select_related() 和 prefetch_related() 可以很好的减少数据库请求的次数,从而提高性能.本文通过一个简单的例子详解这两个函数的作用.虽然Q ...
-
hdu 1558 线段相交+并查集
题意:要求相交的线段都要塞进同一个集合里 sol:并查集+判断线段相交即可.n很小所以n^2就可以水过 #include <iostream> #include <cmath> ...
-
一个bug案例分析
Bug描述: 某大型系统的一个提供基础数据服务的子系统A进行了一次升级.升级的内容为:优化了失败重传功能,在优化的同时,开发人员发现传输数据的时间戳精度只是精确到了秒,于是顺手把精度改成了1/100秒 ...
-
PHP 错误与异常 笔记与总结(5)配置文件中与错误日志相关的选项 &;&; 将错误记录到指定的文件中
[记录错误(生产环境)] php.ini: ① 开启 / 关闭 错误日志功能 log_errors = On ② 设置 log_errors 的最大字节数 log_errors_max_len = 其 ...
-
windows使用nginx+memcached实现负载均衡和session或者缓存共享
windows使用nginx+memcached实现负载均衡和session或者缓存共享 两台server server1:115.29.186.215 windows2008 64位操作系统 ser ...
-
大数据系列修炼-Scala课程07
由于昨天下班后有点困,就没有来及写博客,今天会把它补上!把这个习惯坚持下去! 关于Scala高阶函数详解 1.Scala高阶函数代码实现:高阶函数就是在我们函数中套用函数 2.高阶函数代码详解:高阶函 ...
-
UVA1600 状态BFS
刚开是我用了一种很笨的bfs过掉的,后来看到原来还可以三维带状态BFS,觉得是一个不错的思路. d[x][y][k]表示坐标位于(x,y)经过K个障碍到达时的最短路径,当然如果(x,y)处的数字是0就 ...
-
基于.net的Socket异步编程总结
最近在为公司的分布式服务框架做支持异步调用的开发,这种新特性的上线需要进行各种严格的测试.在并发性能测试时,性能一直非常差,而且非常的不稳定.经过不断的分析调优,发现Socket通信和多线程异步回调存 ...
-
struts2从认识到细化了解
目录 Struts2的介绍与执行流程 介绍: 执行流程: 运行环境搭建 基础示例 Action类的编写 介绍: 访问servlet API 补充: 配置文件 常见配置文件: 常量的配置: struts ...
-
cad.net 利用win32api实现一个命令开关参照面板
首先我要判断是否已经打开了参照面板. 然而cad自己没有相关的系统变量.这时我就需要利用到win32api来判断程序是否打开了参照面板了. 首先学习的是 https://blog.csdn.net/b ...