• Shell脚本之:变量


    与编译型语言不同,shell脚本是一种解释型语言。

    执行这类程序时,解释器(interpreter)需要读取我们编写的源代码(source code),并将其转换成目标代码(object code),再由计算机运行。

    Linux默认的脚本解析器是bash。

    参考资料 http://c.biancheng.net/cpp/view/6994.html

    第一个Shell脚本

    下面演示我们的第一个shell脚本,使用文本编辑器(如vi),键入如下代码并保存为hello.sh

    #!/bin/bash

    # 打印hello world echo
    "Hello World !"

    然后给该脚本赋予执行权限

    chmod +x ./hello.sh

    然后执行该脚本,终端就会显示Hello World!

    其中脚本第一行#!/bin/bash 指明了该脚本的解释器

    sh里没有多行注释,只能每一行加一个#号

    read命令

    下面的脚本使用read命令从 stdin 获取输入并赋值给 PERSON 变量,最后在 stdout 上输出

    #!/bin/bash
    echo "What is your name?"
    read PERSON
    echo "Hello, $PERSON"

    下面是运行情况

    Shell变量

    定义变量

    variableName="value"

    使用一个定义过的变量,只要在变量名前面加美元符号($)即可,如:

    name="runnyu"
    echo ${name}

    花括号可加可不加,加花括号是为了帮助解释器识别变量的边界。使用readonly+变量名可以将变量定义为只读变量,unset+变量名可以删除变量

    readonly name
    unset name

    特殊变量

    编写special.sh测试

    #!/bin/sh
    echo "pid=$$"
    echo "$0"
    echo "$1"
    echo "$2"
    echo "$#"
    echo "$*"

    运行结果

    $* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。

    但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数。

  • 相关阅读:
    【转】CUDA5/CentOS6.4
    【转】centos 6.4 samba 安装配置
    【转】Install MATLAB 2013a on CentOS 6.4 x64 with mode silent
    【转】Getting xrdp to work on CentOS 6.4
    【VLFeat】使用matlab版本计算HOG
    Unofficial Windows Binaries for Python Extension Packages
    March 06th, 2018 Week 10th Tuesday
    March 05th, 2018 Week 10th Monday
    March 04th, 2018 Week 10th Sunday
    March 03rd, 2018 Week 9th Saturday
  • 原文地址:https://www.cnblogs.com/runnyu/p/4675537.html
Copyright © 2020-2023  润新知