10、shell编程+流程控制+分支嵌套
如: mkdir `echo $USER`
mkdir "$(date)"
如:a=tt
取子串 ${变量名:(+/-)n:n}
+n 从左边第n个位置开始取(第一个字符是0)
n 取多少个
s="abcdefg"
字符删除 ${变量名#*截止字符}
#*x 从左边开始删,遇到第一个x为止
##*x 从左边开始删,遇到最后一个x为止
%x* 从右边开始删除,遇到第一个x为止
%%d* 从右边开始删除,遇到最后一个x为止
str=/dir1/dir2/dir3/dir4/file.txt
echo {str#*d} --从左边开始,删到第一个d为止 ir1/dir2/dir3/dir4/file.txt
echo {str##*d} --从左边开始,删到最后一个d为止 ir4/file.txt
echo ${str%d*} /dir1/dir2/dir3/
echo ${str%%d*} /
basename 取完整路径中的文件名
basename /etc/sysconfig/network
network
basename $str
file.txt
2、算术运算
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于
= 等于
!= 不等于
\> 大于
\< 小于
-z string 字符是否为空
-n string 字符是否不为空
-b file
-c file
-d file
-e file
-f file
-g file 文件是否设置了 sgid
-G file
-r file
-w file
-x file
格式:read [option] [var]
option:
-p 设置提示字符
-s 输入时不显示,如同输入密码
-t n 设置等待时间,如果过了指定的秒数,就返回一个非零的状态
-n n 设置只接收多个字符,达到这个字符个数n后,就自动回车
如:read -p “请输入你的姓名:" name
cut
语法:cut [option] [文件名]
option:
-b 取字节
-c 取字符
-f 取字段
-d 指定字段分隔符
范围表示:
N 第N项
N- 从第N项开始,到最后
N-M N-M 项
-M 从1到M
[root@s100 script]# cat if1.sh
#!/bin/bash
#if 使用示例,显示两个数的最大数 read -p "请输入第一个数:" n1
read -p "请输入第二个数:" n2
max=$n1
if [ $n2 -gt $max ]
then
max=$n2
fi
echo "最大数是: $max"
格式二:
例:输入文件,判断是否存在,如果存在,判断当前用户对它的权限
用分支嵌套实现:
10、shell编程+流程控制+分支嵌套的更多相关文章
- shell编程流程控制
前言: 在linux shell中,通常我们将一些命令写在一个文件中就算是一个shell脚本了,但是如果需要执行更为复杂的逻辑判断,我们就需要使用流程控制语句来支持了. 所谓流程控制既是通过使用流程控 ...
- shell编程--流程控制for,do-while,if-then,break,continue,case等
2.5 流程控制 2.5.1 if语法 1.语法格式 if condition then statements [elif condition then statements. ..] ...
- Linux学习 -- Shell编程 -- 流程控制
if语句 单分支 if [ 条件判断式 ]; then 程序 fi 或者 if [ 条件判断式 ] then 程序 fi 例子: 双分支 if [ 条件判断式 ] then 程序 else 程序 fi ...
- linux shell编程流程控制
条件选择 单分支条件 多分支条件 选择执行if语句 单分支 if 判断条件;then 条件为真的分支代码 fi 双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 f ...
- Python 流程控制-分支结构详解
目录 Python 流程控制--分支结构 1.结构分类 顺序结构 分支结构 循环结构 2.分支结构详解 分支结构 定义格式: if 单支结构 if 双分支结构 if 多分支结构 Python 流程控制 ...
- JavaScript 流程控制-分支
JavaScript 流程控制-分支 1.流程控制 在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的,很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能. 简单理解:流程控 ...
- linux shell 之流程控制 if if else while
(1)流程控制不可以为空: (2)if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi 条件 ...
- Shell工具| 流程控制
1. 流程控制 if 判断 ()[ 条件判断式 ],中括号和条件判断式之间必须有空格 ()if后要有空格 [kris@hadoop datas]$ vim if.sh #!/bin/bash -eq ...
- python基础-->流程控制-->分支结构-->单项分支-->双向分支
# ###流程控制 ''' 流程:代码执行过程 流程控制:对代码执行过程的管控 顺序结构:代码默认从上到下依次执行 分支结构:对代码执行过程的管控 循环机构: while for ..in.... 分 ...
随机推荐
- SQL必知必会|SQL基础篇
了解SQL DBMS的前世今生 SQL是如何执行的 DDL语法 关于外键的性能问题? 是否使用外键确实会有一些争议.关于外键的使用: 首先,外键本身是为了实现强一致性,所以如果需要正确性>性能的 ...
- 如何运用C语言求(判断)素数。
int i,n; scanf("%d",&n); i=2; //这一步是亮点!! while(i<n) { if(n%i==0) break; i++; } if ...
- Codeforces Round #552 (Div. 3) EFG(链表+set,dp,枚举公因数)
E https://codeforces.com/contest/1154/problem/E 题意 一个大小为n(1e6)的数组\(a[i]\)(n),两个人轮流选数,先找到当前数组中最大的数然后选 ...
- ajax.readyState和HTTP状态码的提示
ajax.readyState 0 -(未初始化)还没有调用send()方法 1 -(载入)已调用send()方法,正在发送请求 2 -(载入完成)send()方法执行完成,已经接收到全部响应内容 3 ...
- 剑指offer:剪绳子(找规律,贪心算法,动态规划)
1. 题目描述 /* 题目描述 给你一根长度为n的绳子,请把绳子剪成m段(m.n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m].请问k[0]xk[1] ...
- 《一起学mysql》4
索引的使用 索引太少返回结果很慢,但是索引太多,又会占用空间.每次插入新记录时,索引都会针对变化重新排序 什么时候使用索引 1.where 从句中用到的字段 select * from tb ...
- liunx下安装mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
1.解压准备一个赶紧的环境,然后安装mysql. 2.cd到/usr/local/目录下,修改文件名为mysql 修改完目录名以后我们cd到mysql下,建立一个data目录命令:cd mysql/ ...
- git push 报504 (因提交文件内容过大而失败的解决方案)
Enumerating objects: 60, done. Counting objects: 100% (60/60), done. Delta compression using up to 4 ...
- COMP222 - 2019
COMP222 - 2019 - Second CA AssignmentIndividual courseworkTrain Deep Learning AgentsAssessment Infor ...
- 【MySQL】GTID小结
1.GTID的概念 GTID(global transaction identifier)是全局事务标识符,在MySQL5.6版本中作为一个超级特性被推出.事务标识不仅对于Master(起源)的服务器 ...