shell基础part2
shell基础
一、bash中的变量
1、变量的定义:变量是计算机的内存单元,其中存放的值是可以改变的。
2、变量的设定规则:变量名不能以数字开头;变量的等号两边不能有空格,变量的值如果想有空格必须用单引号或者双引号引起来;变量的默认类型是字符串型,如果要进行计算需要指定变量类型为数值型;在变量的值中可以使用“\”转义符;变量的叠加需要使用双引号“$变量名”或者${变量名};如果需要把命令的结果作为变量值赋予变量,则需要使用反引号或者$()包含命令;环境变量建议大写便于区分。
3、变量的分类
用户自定义变量(本地变量):用户可以自由定义但只能在当前shell中生效。
环境变量:这种变量主要是保存和系统操作环境相关的数据(PATH),可新建一个环境变量也可修改系统的环境变量(修改的是环境变量的值)。
位置参数变量:主要用来向脚本当中传递参数或者数据,变量名不能自定义,变量的作用是固定的也不能定义,只能修改传递变量的值。
预定义变量:是bash中已经定义好的变量,变量名不能自定义,变量的作用也是固定的,位置参数变量是预定义变量中的一种。
4、set命令是查看变量,unset 变量名 是删除一个变量
二、环境变量(全局变量)
1、环境变量的定义:不仅可以在当前shell中生效还能在其子shell中生效,将这个环境变量写入配置文件中还会在所有shell中生效。
2、设置环境变量
export 变量名=变量值(export的意思是申明该变量是环境变量)
env是专门查询环境变量命令 将本地变量声明为环境变量只需要export 变量名就可以了
eg:PATH=$"PATH":/root/sh 或者PATH=${PATH}:/root/sh 这是把PATH环境变量进行变量的叠加
三、位置参数变量
1、参数及其作用

四、预定义变量
1、参数及其作用

2.接受键盘输入


五、bash运算符
1、数值运算与运算符

2、数值运算方法1 方法2:expr或let运算工具 方法3:$((运算式))或者¥[运算式]



3、运算符


4、变量测试与内容替换

shell基础part2的更多相关文章
- Shell基础学习小结
0 shell基础概念 Shell是解释性语言,使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象:缺点是它们的效率通常不如编译型语言.Shell命令有本 ...
- Shell基础-环境变量配置文件
Shell基础-环境变量配置文件 source 配置文件 或者 . 配置文件: 把环境变量写入配置文件后,需要用户重新登陆才能生效,而是用source命令,则能直接生效 主要的配置文件: /etc/p ...
- shell基础二十篇 一些笔记
shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...
- shell基础(转)
shell基础1:文件安全与权限 http://bbs.chinaunix.net/forum/viewtopic.php?t=434579&highlight=wingger 附:Linux ...
- Linux实战教学笔记17:精简shell基础
第十七节 精简shell基础 标签(空格分隔): Linux实战教学笔记 1,前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, ...
- shell基础及变量
一 Shell概述 1.Shell的作用——命令解释器,“翻译官” shell作为一个人机接口,用于解释用户输入的命令,将命令解释为Linux内核可以执行的2进制代码,并将执行的结果返回在标准终端上. ...
- Shell 基础教程
一个比较好的shell基础教程: http://www.runoob.com/linux/linux-shell.html
- Linux基础学习(10)--Shell基础
第十章——Shell基础 一.Shell概述 1.Shell是什么: (1)Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来 ...
- Linux Shell基础(下)
Linux Shell基础(下) 目录 一.shell特殊符号cut命令 二.cut.sort.wc.uniq命令 三.tee.tr.split命令 四.简易审计系统 五.fork, exec, so ...
随机推荐
- 24.JAVA编程思想——违例差错控制
24.JAVA编程思想--违例差错控制 Java 的基本原理就是"形式错误的代码不会执行". 与C++类似,捕获错误最理想的是在编译期间,最好在试图执行程序曾经.然而.并不是全部错 ...
- 算法练习--ABCD*E=DCBA
//1.ABCD * E = DBCA//2.A,B,C,D {0-9} , E {1-9}//3.A,B,C,D,E all different var existSameN = function ...
- [redis]redis概述
Redis是一个开源.支持网络.基于内存.可持久化的日志型.key-value键值对数据库.使用ANSI C编写.并提供多种语言的API. 它是远程字典server(remote dictionary ...
- Theme.AppCompat.Light无法找到问题
使用adt开发新建一个Android app.选择支持的SDK版本号假设小于11(Android3.0)就会报例如以下错误. error: Error retrieving parent for it ...
- js 正则表达式 取反
http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp 以匹配中文为例 const test_value = '李钊鸿' if (/[^\u4e00 ...
- python 用win32修改注册表,修改打开IE浏览器的配置
打开注册表:win+r, regedit,注册表的管理是按照文件夹的形式的. 注册表总共有五项: HKEY_CLASSES_ROOT 是HKEY_LOCAL_MACHINE\Software的子项,保 ...
- 自动清理DataGuard备机日志
>> from zhuhaiqing.info #!/usr/bin/bash #删除DataGuard备机归档日志备份 export ORACLE_HOME=/opt/oracle/pr ...
- qtav----ffmeg在ubuntu和win10上的编译和运行
最近在windows上和ubuntu上都安装了qtav并且通过了编译测试,实测播放中英文的视频文件功能正常,有图像有声音. 大致情况是,操作系统ubuntu: wkr@sea-X550JK:~$ ca ...
- JDK自带的定时任务
import java.util.TimerTask; /** * 实现定时任务 * */ public class MyTimerTask extends TimerTask { @Override ...
- python学习 05 函数switch功能
1.python没有switch功能,利用字典实现 如果用if else,可行但是效率不高