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(中)的更多相关文章

  1. 第十一章、认识与学习BASH

    第十一章.认识与学习 BASH 最近升级日期:2009/08/25 1. 认识 BASH 这个 Shell 1.1 硬件.核心与 Shell 1.2 为何要学文字接口的 shell 1.3 系统的合法 ...

  2. 快速学习Bash

    作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. Shell是Linux下经典的文本互动方式,而Bash是现在最常用的一种Shell.我在这里总结了Bash ...

  3. 第十一章、认识与学习 BASH

    第十一章.认识与学习 BASH 1. 认识 BASH 这个 Shell 1.1 硬件.核心与 Shell 1.2 为何要学文字接口的 shell 1.3 系统的合法 shell 与 /etc/shel ...

  4. 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)

    第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...

  5. bash 中 () {} [] [[]] (()) 的解释

    bash 中 () {} [] [[]] (()) 的解释 来源  https://www.cnblogs.com/fhefh/archive/2011/04/16/2017895.html bash ...

  6. Linux学习笔记之认识与学习Bash

    什么是shell:shell是一个翻译器,将所敲的命令翻译成CPU能理解的语言,之后CPU再去执行,CPU执行后返回给shell,shell再翻译成我们所能理解的语言并显示:终端并不是shell,而是 ...

  7. HTTP入门(一):在Bash中curl查看请求与响应

    HTTP入门(一):在Bash中curl查看请求与响应 本文简单总结HTTP的请求与响应. 本文主要目的是对学习内容进行总结以及方便日后查阅. 详细教程和原理可以参考HTTP文档(MDN). 本文版权 ...

  8. 认识与学习BASH①——鸟叔的Linux私房菜

    文章目录 认识与学习BASH① 认识BASH 壳程序 多种shells Bash shell 的功能 type :查询指令是否为Bash shell 的内置指令 指令的换行输入和快速删除 Shell的 ...

  9. 学习sql中的排列组合,在园子里搜着看于是。。。

    学习sql中的排列组合,在园子里搜着看,看到篇文章,于是自己(新手)用了最最原始的sql去写出来: --需求----B, C, F, M and S住在一座房子的不同楼层.--B 不住顶层.C 不住底 ...

随机推荐

  1. 1分钟去除word文档编辑限制密码

    http://blog.sina.com.cn/s/blog_4bd446f30101dc4t.html

  2. wamp下Apache2.4.x局域网访问403的解决办法

    1.我们打开Apache目录\wamp\bin\apache\apache2.4.9下的“conf”文件夹,找到httpd.conf. 2.找到#   onlineoffline tag - don' ...

  3. html之hr,form标签

    <hr>标签:在html页面中创建一条水平线,可在视觉上将文档分隔成多个部分 <form>:块级标签,前后会产生折行 标签用于为用户输入创建html表单,将数据提交给服务器.表 ...

  4. ASP.NET MVC 程序 报错“CS0012: 类型“System.Data.Objects.DataClasses.EntityObject”在未被引用的程序集中定义”的解决办法

    运行MVC程序,具体报错信息如下: 解决方法: 打开Web.config在assemblies下加入<add assembly="System.Data.Entity, Version ...

  5. SQL Server 的SQL基础知识

    1.N'关闭'N是指nvarchar,是将其内容关闭作为 Unicode字符常量(双字节).而没有N的 '关闭', 是将关闭作为字符常量(单字节). 平常没有加N,结果里面直接出现?. 具体如下图: ...

  6. spring 中事务的PROPAGATION_REQUIRED,Readonly的解释

                 一.事务传播行为种类 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为, 它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播 ...

  7. [linux] cp: omitting directory `XXX'问题解决

    在linux系统中复制文件夹时提示如下: cp: omitting directory `foldera/' 其中foldera是我要复制的文件夹名,出现该警告的原因是因为foldera目录下还存在目 ...

  8. FileReader 基本介绍

    转自:http://blog.csdn.net/zk437092645/article/details/8745647 用来把文件读入内存,并且读取文件中的数据.FileReader接口提供了一个异步 ...

  9. JSP MVC

    Java的MVC玩起来比.Net的有意思,因为每一步你都知道它是如何运作的,都由自己去实现.而在.Net的MVC中,你却不知道一个Controller是如何对应到View中的,因为MS给了你IDE上的 ...

  10. 01TCP/IP基础

    ISO/OSI参考模型: OSI(open system interconnection)开放系统互联模型是由ISO(International Organization for Standardiz ...