博客
关于我
linux 基础-变量,shell基本语法
阅读量:707 次
发布时间:2019-03-21

本文共 1175 字,大约阅读时间需要 3 分钟。

Shell 脚本编程指南

Shell 变量

变量是Shell编程中的重要基础。定义变量简单即可,但要注意变量名与等号之间不能有空格。

定义变量

your_name="runoob.com"

使用变量

echo $your_nameecho ${your_name}

加花括号是为了帮助解释器识别变量的边界。

读取变量

your_name="tom"your_name="alibaba"

变量可以被重新定义。

只读变量

使用 readonly 命令定义的变量不能被改变。

myUrl="http://www.w3cschool.cc"readonly myUrlmyUrl="http://www.runoob.com"

删除变量

使用 unset 命令删除变量。

unset variable_name

unset 命令不能删除只读变量。

变量类型

Shell支持三种变量类型:

  • 局部变量:仅在当前shell实例中有效。
  • 环境变量:所有程序都能访问。
  • Shell变量:部分是环境变量,部分是局部变量。
  • Shell 字符串

    单引号字符串

    单引号字符串会原样输出,变量无效。

    str='this is a string'

    单引号字符串限制

  • 单引号内的任何字符原样输出,变量无效。
  • 单引号中不能出现单引号。
  • 双引号字符串

    双引号字符串支持变量和转义字符。

    your_name='qinjx'str="Hello, I know your are \"$your_name\"! \n"

    双引号优点

  • 变量可以嵌入其中。
  • 支持转义字符。
  • Shell 字符串拼接

    your_name="qinjx"greeting= "hello, "$your_name" !"greeting_1="hello, ${your_name} !"echo $greeting $greeting_1

    获取字符串长度

    string="abcd"echo ${#string}

    查找子字符串

    string="runoob is a great company"echo `expr index "$string" is`

    Shell 数组

    定义数组

    数组用 () 包围,元素用空格分隔。

    array_name=(value0 value1 value2 value3)

    读取数组元素

    valuen=${array_name[n]}echo ${array_name[@]}

    获取数组长度

    length=${#array_name[@]}

    Shell 函数

    函数定义格式:

    functionName()# 返回值可使用 $?return 10

    参数传递

    脚本参数可用 $1, $2 等表示,使用 ${} 取多个参数。

    echo "执行的文件名:$0"./test.sh 1 2 3

    转载地址:http://rltrz.baihongyu.com/

    你可能感兴趣的文章
    java 原型模式(大话设计模式)
    查看>>
    微机原理 6-计算机中常用的数制
    查看>>
    web访问ejb测试 详解
    查看>>
    window系统下安装使用curl命令工具
    查看>>
    假如计算机是中国人发明的,那代码应该这么写
    查看>>
    神器 Codelf !
    查看>>
    趣图:会算法和不会算法的区别
    查看>>
    区块链会2020再次爆发,先学点DAPP压压惊,跟我一起学《区块链DApp入门实战》
    查看>>
    问题解决28:微信网页授权出现redicet_uri 参数错误
    查看>>
    LeakCanary 中文使用说明
    查看>>
    反转链表,(5)
    查看>>
    Camera (api1)的打开过程
    查看>>
    wxwidgets绘图
    查看>>
    wxwidgets事件处理
    查看>>
    用OpenCv转换原始图像数据到wximage
    查看>>
    codeblocks下wxWidgets编译与配置
    查看>>
    OpenCv+wxwidgets尝试
    查看>>
    wxwidgets自定义事件+调试
    查看>>
    wxwidgets编写多线程程序--wxThread
    查看>>
    BUUCTF:[湖南省赛2019]Findme
    查看>>