认识与学习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 可以单独列出变量的类型

时间: 2024-07-31 14:21:33

认识与学习BASH(中)的相关文章

Linux学习日记--基础命令(7)--bash中的变量,配置文件

变量的定义和使用 变量类型 强类型:定义变量时必须指定类型.参与运算必须符合类型要求:调用未声明变量会产生错误: 弱类型:无须指定类型,默认均为字符型:参与运算会自动进行隐式类型转换:变量无须事先定义可直接调用: 变量命名法则:                1.不能使程序中的保留字:例如if, for;                 2.只能使用数字.字母及下划线,且不能以数字开头:                3.见名知义,         bash中的变量的种类:          

第十一章、认识与学习 BASH

1. 认识 BASH 这个 Shell 1.1 硬件.核心与 Shell 1.2 为何要学文字接口的 shell 1.3 系统的合法 shell 与 /etc/shells 功能 1.4 Bash shell 的功能 1.5 Bash shell 的内建命令: type 1.6 命令的下达 2. Shell 的变量功能 2.1 什么是变量? 2.2 变量的取用与配置:echo, 变量配置守则, unset 2.3 环境变量的功能: env 与常见环境变量说明, set, export 2.4 影

《学习bash》笔记--进程处理

1.进程ID和作业编号 当通过附加&号后运行命令时,shell会响应如下: $ ls & [1] 3318 其中[1]是作业号,3318是进程号. 一个后台进程完成时,shell会给出作业编号信息,如下: [1]+  Done                    ls --color=auto 如果作业以非0状态退出时,shell指出其退出状态. 2.作业控制 作业编号可以使它们在shell命令中进行作业控制.一旦作业在后台运行,你可以让它一直运行,或把它放到前台,或向其发送信号. 2.

《学习bash》笔记--调试shell程序

在shell中,最简单的调试助手时输出语句echo,可以通过把许多echo语句放到代码中进行调试,但必须花费足够的时间以定位 要查看的信息.可能必须通过许多的输出才能发现要查找的信息. 1.set选项 最基本的时set -o命令选项,当运行脚本时,这些选项可以用在命令行上,如下表所示: set -o选项      命令行选项      行为 noexec            -n                     不运行命令,值检查语法错误 verbose           -v  

《学习bash》笔记--命令行处理

shell从标准输入或脚本中读取的每行称为一个管道行,它包含一或多个由0个或多个管道符分割的命令,对其读取的每个管道 行,执行下面的操作. 1.将命令分成由固定元字符集分隔的记号:SPACE.TAB.NEWLINE.;.(.).<.>.|和&.记号类型 包括单词.关键字.I/O重定向符和分号. 2.检测每个命令的第一个记号,查看为不带引号或反斜线的关键字.如果是一个开放的关键字,如if和 其他控制结构起始字符串.function.{或(,则命令实际上为一复合命令.shell在内部对复合

《学习bash》笔记--基础shell编程

1.shell脚本和函数 脚本是包含shell命令的文件,它是一个shell程序,有三种方式运行它们: 一是键入source scriptname,使得脚本的命令被读取并运行,就好像键入它们一样. 二是运行bash scriptname,打开一个子shell来读取并执行脚本文件中命令.该脚本文件可以无"执行权限". 三是使用./scriptname,打开一个子shell读取并执行脚本文件中的命令,该脚本需要"执行权限". 1.1.函数 函数是一种脚本内脚本,你使用它

《学习bash》笔记--定制用户环境

1. .bash_profile..bash_logout和.bashrc文件 当用户和退出一个新的shell时,文件.bash_profile..bash_logout和.bashrc文件被bash所读取.在用户每次登陆到系统时, .bash_profile文件被读取,可以对.bash_profile文件进行编辑,但是知道退出并在此登录后,该文件才会被重新读取,你编辑 的新内容才会生效,或者使用source命令: source ./bash_profile bash允许有.bash_profi

《学习bash》笔记--输入输出

1.I/O重定向符 I/O重定向符如下: cmd1 | cmd2:管道,接收cmd1的标准输出作为cmd2的标准输入. >file:将标准输出定向到file <file:从file接收标准输入 >>file:将标准输出定向到file,如果file存在则附加在后面 >|file:即使设置了noclobber仍然强制标准输出到file. shell提供了一种称为noclobber的特性,该特性可防止重定向时不经意地重写了已存在的文件.通过设置变量noclobber可以 将此特 性

鸟哥的Linux私房菜_基础版_学习笔记7:第十一章 认识与学习 BASH

11.1 认识 BASH 这个 Shell 图 1.1.1.硬件.核心与用户的相关性图示 11.1.4 Bash shell 的功能 既然 /bin/bash 是 Linux 默认的 shell ,bash 是 GNU 计划中重要的工具软件之一,目前也是 Linux distributions 的标准 shell . bash 主要兼容于 sh ,并且依据一些使用者需求,而加强的 shell 版本.不论你使用的是那个 distribution ,你都难逃需要学习 bash 的宿命啦!那么这个 s