首页 > 系统相关 >shell语法1-概论、注释、变量、字符串

shell语法1-概论、注释、变量、字符串

时间:2022-11-02 11:00:46浏览次数:45  
标签:注释 shell name echo 语法 liang declare 概论 变量

如果感觉有点忘了或者有点懵,敲出来测试测试就好了

一:概论

Linux系统中一般默认使用bash,文件开头需要写#! /bin/bash,指明bash为脚本解释器
chmod +x filename:使脚本具有可执行权限

执行方式:

./test.sh  # 当前路径下执行

/home/acs/test.sh  # 绝对路径下执行

bash test.sh用解释器执行

 

二:注释

单行:#之后为注释

多行:

:<<EOF
第一行注释
第二行注释
第三行注释
EOF

注:EOF可换成其他字符串(如aaa)

 

三:变量

1、

name=’liang‘ #可加单引号、双引号或不加

name="liang"

name=liang

使用变量需要$符号或者${}

echo $name

echo${name}

2、只读变量:使用reaonly或者declare将变量变为只读

name=liang

readonly name/declare -r name #两种方法

3、删除变量:unset

name=liang

unset name

echo $name #输出空行

4、局部变量(子进程无法访问)、全局变量(子进程可以访问)

设置为全局变量:export/declare -x

name=liang

export name/declare -x name #两种方法

设置为局部变量:declare +x

export name=liang

declare +x name

 

四、字符串

可以单引号、双引号

单引号:里面内容原样输出,不会执行、取变量

双引号:里面内容可以执行,会取变量

name=liang

echo ' hi,$name \"hh\" ' 输出hi,$name \"hh\" #单引号,不取变量,不转义

echo " hi,$name \"hh\" "输出hi,liang "hh" #双引号,取变量,\"转义为"

获取字符串长度:

name=liang

echo ${#name} #输出5

提取字串:

echo ${name:0:3} #提取lia(第一个字符为0)

 

标签:注释,shell,name,echo,语法,liang,declare,概论,变量
From: https://www.cnblogs.com/liang09/p/16850321.html

相关文章

  • MySQL_语法规范
    1不区分大小写,但建议关键字大写,表名、列名小写2每条命令最好用分号结尾3每条命令根据需要,可以进行缩进或换行4注释      单行注释:#      单行注释:......
  • C# 语法分析器(五)错误恢复
    系列导航(一)语法分析介绍(二)LR(0)语法分析(三)LALR语法分析(四)二义性文法(五)错误恢复(六)构造语法分析器语法分析中的错误恢复是一个很复杂的问题,有多种可能的错误恢复......
  • C# 语法分析器(四)二义性文法
    系列导航(一)语法分析介绍(二)LR(0)语法分析(三)LALR语法分析(四)二义性文法(五)错误恢复(六)构造语法分析器二义性文法,指的是一个可以为某个句子生成多颗语法分析树。最常......
  • C# 语法分析器(三)LALR 语法分析
    系列导航(一)语法分析介绍(二)LR(0)语法分析(三)LALR语法分析(四)二义性文法(五)错误恢复(六)构造语法分析器上一章构造了LR(0)自动机,现在就可以来构造LALR语法分析表了......
  • C# 语法分析器(二)LR(0) 语法分析
    系列导航(一)语法分析介绍(二)LR(0)语法分析(三)LALR语法分析(四)二义性文法(五)错误恢复(六)构造语法分析器首先,需要介绍下LALR语法分析的基础:LR(0)语法分析。还是以之......
  • C# 语法分析器(一)语法分析介绍
    系列导航(一)语法分析介绍(二)LR(0)语法分析(三)LALR语法分析(四)二义性文法(五)错误恢复(六)构造语法分析器之前的《C#词法分析器》系列,已经可以构造出一个词法分析器,可以......
  • 练手项目-C实现交互式Shell
    项目描述利用C语言实现交互式Shell终端功能。先实现常用Linuxcommand。交互式Shell交互式shellIO实现remove-指定创建和删除文件IO-opendir-readdir文件IO......
  • shell-字符串处理学习笔记一
    计算字符串长度${#string}exprlength"$string"string有空格,则必须加双引号str="helloworld"#${#string}len=${#string}echo$len11#`exprlength"$stri......
  • javascript异步编程之generator(生成器函数)与asnyc/await语法糖
    Generator异步方案相比于传统回调函数的方式处理异步调用,​​Promise​​最大的优势就是可以链式调用解决回调嵌套的问题。但是这样写依然会有大量的回调函数,虽然他们之间......
  • javascript异步编程之generator(生成器函数)与asnyc/await语法糖
    Generator异步方案相比于传统回调函数的方式处理异步调用,Promise最大的优势就是可以链式调用解决回调嵌套的问题。但是这样写依然会有大量的回调函数,虽然他们之间没有嵌......