zoukankan      html  css  js  c++  java
  • 认识与学习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 可以单独列出变量的类型

  • 相关阅读:
    先建制度,后建系统
    历史即哲学
    要针对对方关心的问题开展有效的交流
    技术人员安身立命
    人工智能与信息爆炸
    50年100年后我们的计算结构(架构)是什么样的?
    关于“怎么看”的哲学思考
    c语言之秒数算法
    httpd centos7
    SSH隧道技术----端口转发,socket代理
  • 原文地址:https://www.cnblogs.com/Caden-liu8888/p/5581512.html
Copyright © 2011-2022 走看看