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 ...
随机推荐
- psql命令行快速参考
psql的命令语法是: psql [options] [dbname [username]] psql命令行选项以及它们的意思在表1-1中列出.使用以下命令可以看到psql完整的选项列表: $ psq ...
- linux配置jdk失败
在linux下配置jdk时,/etc/profile下的配置内容是对的,可是输入java -version却发现配置没有成功,这一般都是jdk的安装文件夹权限没有提升的原因,仅仅需用chmod -R ...
- 【DB2】db2命令Export与Import
环境准备 1.新建表 qinys@Linux:~> db2 "create table tb1(id int,dt timestamp,name varchar(100))" ...
- HTTP协议图解
1.HTTP简介 http是用于客户端与服务端之间的通信 实际情况中客户端与服务端角色有可能互换,但从一条通信线路来说服务器端和客户端角色是确定的,http协议知道那个是服务端那个是客户端呢. htt ...
- const readonly
静态常量(compile-time constants)静态常量是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化的那个值. 动态常量(runtime constants)而动态常量的值则 ...
- Iterating elements using NightWatchJS
1) used the following strategy to iterate over DOM elements using Nightwatch: // Executing a functio ...
- mysql时间操作(时间差和时间戳和时间字符串的互转)
mysql时间操作(时间差和时间戳和时间字符串的互转) 两个时间差: MySQL datediff(date1,date2):两个日期相减 date1 - date2,返回天数. select dat ...
- baksmali反编译出现:UNEXPECTED TOP-LEVEL ERROR:....Too many open files
解包大型apk文件,可能会出现例如以下错误, UNEXPECTED TOP-LEVEL ERROR: java.util.concurrent.ExecutionException: java.io. ...
- BMP图片的C++水印算法
http://wenku.baidu.com/link?url=aVenUhViH9f6At4Lj_As7Rzp_eJWXTcmbUTH0qazd1Y1ZYiU3i1j0pM3G0r_PViIecsv ...
- .Vue 文件 ES6 语法 webstorm 中的一个识别Bug
webstorm 2017 版本中即使安装了vue template file 设置了 js 语言为 es6 语法仍旧会出现识别不了划线的情况,苦寻很久,最后解决方式如下 <script typ ...