认识与学习BASH(中)
1.在设置变量中:单引号与双引号的最大不同:双引号能保有变量的内容,单引号仅能是一般字符
2.反单引号(`)作用:在一串指令中,在‘之内的指令将会被先执行,其结果将作为外部的输入信息。
locate指令可以列出所有的相关档案档名。ls -l `locate crontab`
老实来说,使用【version=$(uname -r)】来取代【version=`uname -r`】比较好,因为反单引号大家老是打错或者看错。
3.若经常去的工作目录名称为:【/cluster/server/work/taiwan_2005/003/】,如何进行该目录的简化(因为如此一来变换目录很麻烦):
(1) work="/cluster/server/work/taiwan_2005/003/"
(2) cd $work
4.env观察环境变量与常见环境变量说明,是environment(环境的)简写
我们可以透过($RANDOM)来取随机数,在BASH的环境下,这个RANDOM变量的内容,介于0~32767之间。echo $RANDOM时,系统就会主动的随机取出一个介于0~32767的数值。
用set观察所有变量(包含环境变量与自定义变量)
PS1:提示字符的设定
5.“$”本身也是一个变量,代表“目前这个shell的线程代号”。即PID。
我们想知道shell的PID,可用"echo $$"即可
6.“?”(代表关于上个执行指令的回传值),一般来说,如果成功的执行该指令,则会回传一个0值,如果执行过程中发生错误,就会以非0数值来取代。
echo $SHELL //显示/bin/bash
echo $? //显示0
export:自定义变量转成环境变量。
子程序仅会继承父程序的环境变量,不会继承父程序的自定义变量。此时若想子程序继承父程序的变量,必须:“export 变量名称”
如果仅下达export而没有接变量,那将会把所有的“环境变量”都绣出来
查看linux系统支持多少语言:“locale -a”
在不同的书籍中会谈到全局变量与局部变量,基本上你可以这样对待:
环境变量 = 全局变量
自定义变量 = 局部变量
6.读取来自键盘输入的变量,用read这个指令:
格式:read [-pt] var
选项与参数:-p:后面可接提示字符
-t:后面可接等待的[秒数]
例:1).“read atest” //光标会等待你的输入,输入“this is a test ”
“echo $atest” //显示“this is a test ” 打印变量内容
2).read -p "Please keyin your name:" -t 30 named //提示用户30秒内输入自己的大名,将输入的字符串作为变量named的内容
Please keyin your name: //注意,有提示字符,后输入“VBird Tsai”
echo $named //显示VBird Tsai
read 之后不加任何参数,直接加上变量名称,则底下会主动出现一个空白行等待你的输入
如果加上-t后面接秒数,则在秒之内没有任何动作时,该指令会自动略过
declare/typeset:宣告变量的类型
格式:declare [-aixr] var
选项和参数:-a:将后面名为var的变量定义成数组(array)类型
-i:将后面名为var的变量定义为整数数字型
-x:将后面的变量变成环境变量,与export功能类似
-r:将变量变成readonly类型,该变量不可被更改内容,也不能unset
注:如果declare后面并没有接任何参数,则bash会主动的将所有的变量名称与内容通通叫出来
sum=100+300+50 //定义变量
echo $sum //显示结果为100+300+50
declare -i sum=100+300+50
echo $sum //显示结果为450
在默认情况下,bash对于变量的规则:
(1)变量类型默认为“字符串”,若不指定变量类型,则1+2为一个“字符串”
(2)bash环境中的数值运算,预设最多仅能到达整数形态,所以1/3=0
declare -x sum //将sum编程环境变量
declare +x sum //将-变成+可以进行[取消]动作
declare -p sum 可以单独列出变量的类型
认识与学习BASH(中)的更多相关文章
- 第十一章、认识与学习BASH
第十一章.认识与学习 BASH 最近升级日期:2009/08/25 1. 认识 BASH 这个 Shell 1.1 硬件.核心与 Shell 1.2 为何要学文字接口的 shell 1.3 系统的合法 ...
- 快速学习Bash
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. Shell是Linux下经典的文本互动方式,而Bash是现在最常用的一种Shell.我在这里总结了Bash ...
- 第十一章、认识与学习 BASH
第十一章.认识与学习 BASH 1. 认识 BASH 这个 Shell 1.1 硬件.核心与 Shell 1.2 为何要学文字接口的 shell 1.3 系统的合法 shell 与 /etc/shel ...
- 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)
第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...
- bash 中 () {} [] [[]] (()) 的解释
bash 中 () {} [] [[]] (()) 的解释 来源 https://www.cnblogs.com/fhefh/archive/2011/04/16/2017895.html bash ...
- Linux学习笔记之认识与学习Bash
什么是shell:shell是一个翻译器,将所敲的命令翻译成CPU能理解的语言,之后CPU再去执行,CPU执行后返回给shell,shell再翻译成我们所能理解的语言并显示:终端并不是shell,而是 ...
- HTTP入门(一):在Bash中curl查看请求与响应
HTTP入门(一):在Bash中curl查看请求与响应 本文简单总结HTTP的请求与响应. 本文主要目的是对学习内容进行总结以及方便日后查阅. 详细教程和原理可以参考HTTP文档(MDN). 本文版权 ...
- 认识与学习BASH①——鸟叔的Linux私房菜
文章目录 认识与学习BASH① 认识BASH 壳程序 多种shells Bash shell 的功能 type :查询指令是否为Bash shell 的内置指令 指令的换行输入和快速删除 Shell的 ...
- 学习sql中的排列组合,在园子里搜着看于是。。。
学习sql中的排列组合,在园子里搜着看,看到篇文章,于是自己(新手)用了最最原始的sql去写出来: --需求----B, C, F, M and S住在一座房子的不同楼层.--B 不住顶层.C 不住底 ...
随机推荐
- 01-Java基础知识:数据类型与变量、标识符、运算符、表达式
Java基础知识:数据类型与变量.标识符.运算符.表达式 一.数据类型 Java定义了基本数据类型.引用数据类型.自定义类型. 八种基本数据类型:byte (1). short (2). int ( ...
- 【转】如何让DIV水平和垂直居中
来源:http://blog.163.com/www.wxs_123/blog/static/82784664201321831746921/ 我们在设计页面的时候,经常要把DIV居中显示,而且是相对 ...
- JS 阻止浏览器默认行为和冒泡事件
JS 冒泡事件 首先讲解一下js中preventDefault和stopPropagation两个方法的区别: preventDefault方法的起什么作用呢?我们知道比如<a href=& ...
- jquery的$.extend和$.fn.extend作用及区别
jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(); jQuery.extend(); (1)类级别 类级别你可以理解为拓展jquery类,最明显的例子是$.ajax ...
- java mail使用中遇到的550类型错误
前言 首先,需要说明的是,本错误来自于一个简单的基于java mail的api程序,邮件服务器是163的SMTP,即smtp.163.com. 程序 需要说明一下,下面这个程序,是来自于网络上,本人为 ...
- OC—设计模式-通知的使用
通知 通知(广播) 可以一对多的发送通知(一个发送者 多个观察者) 特别注意:在发送者 发送通知的时候,必须有观察者 发送者,就是注册一个通知中心,以他为中心,发送消息 通过通知的名字,来判断是哪个通 ...
- sqlserver 2005列转行
isnull(stuff((select ',' + d.comname from projemp a left outer join emps c on a.empid = c.empidleft ...
- nova分析(9)—— nova-novncproxy
nova提供了novncproxy代理支持用户通过vnc来访问虚拟机,用户可以通过websocket.java客户端或者spicehtml5来访问.通过websket访问虚拟机的功能已经集成到hori ...
- android学习笔记18——dpi、dp、sp、xp......
参考:http://www.cnblogs.com/greatverve/archive/2011/12/28/android-dip-dp-sp-pt-px.html http://www.360 ...
- scala高级内容(二) - Implicit
一. Implicit关键字 隐士转换 (1)隐士转换函数:用implicit修饰的,只有一个参数的函数.他会被自动执行,来把一个值转换成另一个 class RichFile(val f:File){ ...