shell语法1-概论、注释、变量、字符串
如果感觉有点忘了或者有点懵,敲出来测试测试就好了
一:概论
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语法1-概论、注释、变量、字符串的更多相关文章
- shell重温---基础篇(shell变量&字符串以及git GUI运行shell脚本方式)
既然是基础篇那肯定是需要对shell的各种需要注意的基本点进行说明了.接下来就是show time... shell呢,是一个用C语言编写的应用程序,是用户使用linux的桥梁.所以呢,他既是一 ...
- Linux-Shell基础(变量,字符串,数组)
一. 什么是shell shell是一个用C语言编写的程序,它是用户使用Linux的桥梁,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统 ...
- shell语法(二)
Shell脚本语法 条件测试:test. [ ] 命令test或[可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1 ...
- Shell语法规范
ver:1.0 博客:https://www.cnblogs.com/Rohn 本文介绍了Shell编程的一些语法规范,主要参考依据为谷歌的Shell语法风格. 目录 背景 使用哪一种Shell 什么 ...
- 转:bash shell 语法1
1 Shell介绍 Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive),Shell还有一种执行命令的方式称为批处理(Batc ...
- shell语法基础
一.变量 1.linux大小写敏感,变量取名要注意大小写.可以通过变量名前面加$来访问变量的内容.可以通过使用read命令来将用户输入的值赋给一个变量. 2.给变量赋值时,如果字符串中包含空格,就必须 ...
- 小符号反映大问题,Shell中下划线_与变量的关系。
之前写过一个根据日期和时间自动命名文件名的时候遇到一个问题. #! /bin/bash read -p "please input the filename:" filename ...
- Shell学习小结 - 深入认识变量
移动端访问不佳,请访问我的个人博客 变量的命名 对于初学者来说,可以简单的理解为,变量就是保存在计算机内存中的一系列的键值对. 列如: str="hello" 这里的str就是变量 ...
- python3基础语法(标识符,注释,数据类型,获取用户输出,代码块,python保留字)
编码 默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码: # -*- coding: cp-1252 -*- ...
- (2)javascript的基本语法、数据结构、变量
本篇学习资料主要讲解javascript的基本语法.数据结构.变量 无论是传统的编程语言,还是脚本语言,都具有数据类型.常量和变量.运算符.表达式.注释语句.流程控制语句等基本元素构成,这些 ...
随机推荐
- IO学习笔记(全)
IO学习笔记 目录 IO学习笔记 一.IO前置知识--Linux系统 1.1 Linux系统--虚拟文件系统(VFS) 1.1.1 首先我们来了解一下Linux中的文件描述 1.1.2 文件类型 父子 ...
- css3中-webkit是什么意思
在CSS样式中很多样式名前缀都带有'-webkit-',但在CSS提供的API中查询不到这些样式名. 原因:CSS3中新增了一些属性,针对不同的浏览器,规定其内核名称让它们可以对这些新增属性进行解析. ...
- 用Bootstrap设计后端页面模板
<!doctype html><html lang="zh-CN"> <head> <meta charset="utf-8&q ...
- Linux程序设计
2.6 shell的语法 2.6.1 变量 参数变量 实验:使用参数和环境变量 #!/bin/sh salutation="Hello" echo $salutation ech ...
- 学习-Vue3-条件渲染
v-if支持在 <template> 元素上使用,能和 v-else 搭配使用. v-show 不支持在 <template> 元素上使用, 也不能和 v-else 搭配使用. ...
- 统信系统部署es
rpm -ivh jdk-17.0.4.1_linux-x64_bin.rpm groupadd es && useradd -d /home/es -g es estar -xzvf ...
- unity Android路径的相关部分代码
using System; using System.Collections; using System.Collections.Generic; using System.IO; using Uni ...
- element-ui中el-table设置多选checkbox时,selection-change重复执行,以及选不中问题
项目中使用了elementUI中el-table的选择框.在另外一个地方展示选中的行的数量.设置显示数量之后,选择框就无法选中,change事件执行两次. 解决办法:给el-table设置row-ke ...
- Flink Concept Timely Stream Processing -Flink概念及时流处理
目录 介绍 时间概念:事件时间和处理时间 事件时间和水印 并行流中的水印 延迟 窗口 翻译来源- Concept Timely Stream Processing 介绍 及时的流处理是有状态流处理的扩 ...
- 上传媒体文件--添加显示进度条 layui的upload控件
上传媒体文件--添加显示进度条 layui的upload控件 详细上传功能请参考博客:上传文件--媒体文件+获取上传文件的属性信息 layui的upload控件 - じ逐梦 - 博客园 (cnbl ...