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的基本语法.数据结构.变量 无论是传统的编程语言,还是脚本语言,都具有数据类型.常量和变量.运算符.表达式.注释语句.流程控制语句等基本元素构成,这些 ...
随机推荐
- HIVE- 删除功能
删除分区: ALTER TABLE table_name DROP PARTITION (partition_name='20220101');
- wget 多线程下载 mwget 工具安装
# for centos mini #yum -y install gcc-c++ intltool libssl-dev yum -y install gcc-c++ intltool openss ...
- android修改frameework与service,vendor分区需要替换的文件
1. 修改framework代码 需要将framework.jar包提供给android studio使用,并替换车机内文件(两种framework.jar不是同一文件,一个是生成文件一个是安卓目录文 ...
- 第十三天笔记Cookie
第十三天笔记Cookie 计算机重要的四个内容 数据结构 数据存储的结构及逻辑的体现,以及相关数据结构之间的操作(算法) 操作系统 windows(dos命令).linux(指令操作) 计网 网络通信 ...
- JS a标签文件下载
aDownload(url, fileName) { const link = document.createElement('a') link.style.display = 'none' link ...
- Day23:个人小结的撰写&&对coderunner的熟悉
今日完成的任务: 1.完成个人小结的撰写 2.阅读Moodle文档,了解Moodle平台以及Moodle出题格式 明日计划: 1.撰写总报告中的结论 2.将插件安装完成 每日小结: 为了研究题库,特 ...
- 提取可执行文件中的调试信息 objcopy --only-keep-debug app app.debug
https://blog.csdn.net/CaspianSea/article/details/17269977 set-debug-directory show-debug-directory i ...
- 第三周day3
第三周day3,星期三 所花时间:1h 代码量:48 博客量:1 了解知识:Button触发点击事件的三种实现方式,onClick.匿名内部类方式.接口方式.
- ubuntu 16.04升级到18.04 出现apt-get问题解决
0.背景 编译webrtc安卓版时要升级系统,升级到18.04之后,安装安卓环境时出现以下问题(./build/install-build-deps.sh): libasan2-armhf-cross ...
- C++11之线程库
在 C++11 之前,涉及到多线程问题,都是和平台相关的,比如 Windows 和 Linux 下各有自己的接口,这使得代码的可移植性比较差.C++11 中最重要的特性就是对线程进行支持了,并且可以跨 ...