Linux学习——shell编程之变量
shell编程之变量:Linux shell编程基础中的变量。
包括Bash变量的分类和各变量的详细使用,如:用户自定义变量、环境变量、语系变量、位置参数变量和预定义变量。
1:什么是Bash变量?
变量:计算机内存单元,其中存放的值可以更改! #Bash变量就Bash中的变量
2:变量有哪些分类,Bash变量有哪些?
常见的变量数据类型分类:
- 字符串型
- 整型
- 浮点型
- 日期型
变量的分类(Linux中变量都是字符串型):
- 用户自定义,变量自定的。
- 环境变量,保存的是和系统操作环境的数据,有些固定有些可以自定义。
- 位置参数,预定义变量 ,变量是固定的。
3:变量命名规则
- 变量命名规格(见名知意):
-- 字母,数字,下划线,不能用数字开头
-- 变量名的长度不能超过255
-- 变量名在有效范围内必须是唯一的
-- 在Bash中,变量的默认类型都是字符串型
4:用户自定义变量
变量定义 : 变量名=变量值
两侧不能有空格变量调用 : echo $变量名
echo 只是其中一种调用方式变量叠加
-- echo "$x"456
-- echo ${x}456
- 变量查看 : set
set -u 如果设定此选项,调用未申明变量时会报错(默认无任何提示)
- 变量删除 : unset 变量名
5: bash环境变量
- 环境变量与用户自定义变量的区别?
--环境变量全局的
--自定义变量局部的
- 设置环境变量
-- exprot 变量名=变量值
或
-- 变量名=变量值
-- export 变量名
从子shell 退出父shell : exit
查看环境变量
-- set
-- env删除环境变量 unset
PATH 变量:系统查找命令路径
-- echo $PATHPATH="$APTH":/root/sh
-- 增加PATH变量的值
6: bash语系变量
语系变量:
locale # 查询当前系统语系
7: 位置参数变量 预定义变量
shell对一些参数做特殊处理,这些参数只能被引用而不能被赋值.
特定shell变量如下:
$# 传递到脚本的参数个数;
$* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个;
$$ 脚本运行的当前进程ID号;
$! 后台运行的最后一个进程的进程ID号;
$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数;
$- 显示shell使用的当前选项,与set命令功能相同;
$? 显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误;
欢迎访问我的csdn博客,我们一同成长!
"不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!"
博客首页:http://blog.csdn.net/u010648555
Linux学习——shell编程之变量的更多相关文章
- Linux学习——shell编程之环境变量配置文件
小白学习,在学习中总结! shell编程之环境变量配置文件 一:环境变量配置文件 1 shell编程之环境变量配置 变量类型: 用户自定义变量(本地变量) 环境变量 :定义每个用户的操作环境,如pat ...
- Linux学习——shell编程之运算符
shell编程之运算符 一:shell中常见算术运算符号和优先级 二:算术运算符 Shell 变量:是弱类型!不能进行加减乘除!比较麻烦! 例子 :shell变量弱类型 a=11 b=22 echo ...
- Linux学习——shell编程之正则表达式和字符处理命令
shell编程之正则表达式 一 正则表达式 1 什么是正则表达式 正则表达式用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分隔.匹配.查找及替换操作. 2 shell编程之正则表达式 ...
- Linux学习 -- Shell基础 -- Bash变量
变量 默认是字符串型,数值型需要显示指定 等号两侧都不能有空格 单引号:原始字符串 双引号:保留转义 命令结果作为值:反引号 或 $() 环境变量一般用大写 自定义变量 变量定义 name=& ...
- Linux - 简明Shell编程02 - 变量(Variable)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash v1=test-variabl ...
- Linux学习 -- Shell编程 -- 流程控制
if语句 单分支 if [ 条件判断式 ]; then 程序 fi 或者 if [ 条件判断式 ] then 程序 fi 例子: 双分支 if [ 条件判断式 ] then 程序 else 程序 fi ...
- Linux学习 -- Shell编程 -- 条件判断
按照文件类型进行判断 两种格式 test -e /root/install.log [ -e /root/install.log ] 注意空格 适合用于脚本中 echo $?可以看到结果 [ - ...
- Linux学习 -- Shell编程 -- 字符处理命令
sort排序命令 sort [选项] 文件名 -f 忽略大小m写 -n 按数值型,默认字符串型 -r 反向 -t 指定分隔符 -k n[,m] 指定字段范围,默认行尾 eg. sort -n -t & ...
- Linux学习 -- Shell编程 -- 字符截取命令
cut字段提取命令 cut [选项] 文件名 -f 列号: -d 分隔符: 局限性:空格为分隔符时不适用 printf命令 printf '输出类型输出格式' 输出内容 %s, %i, %f \a, ...
随机推荐
- Java基础---IO(二)--File类、Properties类、打印流、序列流(合并流)
第一讲 File类 一.概述 1.File类:文件和目录路径名的抽象表现形式 2.特点: 1)用来将文件或文件夹封装成对象 2)方便于对文件与文件夹的属性信息进行操作 3)File类的实例是不 ...
- Java基础语法(三)---数组
一.概念 同一种类型数据的集合.简单的来说就是一容器,用来装东西的. 使用数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素. 二.一维数组的格式 格式1:元素类型 [ ...
- jQuery菜单示例(全选,反选,取消)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [2017-08-21]Abp系列——如何使用Abp插件机制(注册权限、菜单、路由)
本系列目录:Abp介绍和经验分享-目录 Abp的模块系统支持插件机制,可以在指定目录中放置模块程序集,然后应用程序启动时会搜索该目录,加载其中所有程序集中的模块. 如何使用这套机制进行功能插件化开发? ...
- HTML基础1
网页的基本结构(双标签):html,title 页面标题,head 网页上控制信息,body 页面内容,所有属性都写在前面. body的属性:bgcolor 背景色:text 文字颜色:margin ...
- 理解 angular 的路由功能
相信很多人使用angular 都是因为他路由功能而用的 深入理解ANGULARUI路由_UI-ROUTER 最近在用 ionic写个webapp 看到几个demo中路由有好几种,搞的有点晕,查下资料研 ...
- ios 初体验<真机调试>
1.很多小伙伴,初学ios后面,都想迫不及待的连接上真机,在真机上调试,本人今天花了许久时间,在网上查了许多资料,一直出现了个问题导致我没法真机调试, 问题一:Your session has exp ...
- 深入剖析java迭代器以及C#迭代器!
目录: 知道迭代器接口Iterable 为什么java的for增强可以自动迭代 那些类可以被迭代 通过什么方法迭代 1.知道迭代器接口Iterable 解析: 迭代器(iterator)是一种对象,它 ...
- 团队作业8----第二次项目冲刺(Beta阶段) 第二天
BETA阶段冲刺第二天 1.开了个小会议 2.每个人的工作 (1) 昨天已完成的工作: 昨天把学生的登录功能完善了并且优化了下界面 (2) 今天计划完成的工作: (3) 工作中遇到的困难: 1.团队还 ...
- 201521123052《Java程序设计》第5周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 学习了更多markdown的知识 参考资料: 百度脑图 XMind 2. 书面作 ...