linux系统shell基础知识入门二
条件判断语句
test或[],这两是等价的。但用[]这种可能看起来更简洁
必须在[符号和检查条件之间留出空格,而test命令之后也总是应该有一个空格
如果要把test 和then 放一行上,那么必须在test语句和then之间加上分隔符“ ; "
第1种
if test -f /tmp/log.log; then
echo "Yes"
else
echo "No"
fi
第2种
if [ -f /tmp/log.log ]; then
echo "log exists"
fi
字符串比较 | 结果 |
---|---|
str1 = str2 | 字符串相同为真 |
str1 != str2 | 字符串不相同为真 |
-n string | 字符串不为空时,结果为真 |
-z string | 字符串为null(空串),不能值为null的串。结果为真 |
算术比较 | 结果 |
---|---|
exp1 -eq exp2 | 两表达式相等,结果为真 |
exp1 -ne exp2 | 两表达式不等,结果为真 |
exp1 -gt exp2 | exp1大于exp2,结果为真 |
exp1 -ge exp2 | exp1大于等于exp2,结果为真 |
exp1 -lt exp2 | exp1小于exp2,结果为真 |
exp1 -le exp2 | exp1小于等于exp2,结果为真 |
! exp1 | exp1为假,则结果为真,反之亦然 |
文件条件测试 | 结果 | |
---|---|---|
-d file | 文件是一个目录,结果为真 | |
-e file | 文件存在为真,目前更多使用-f file | |
-f file | 文件是普通文件为真 | |
-g file | 文件的set-group-id位被设置为真 | |
-r file | 文件可读为真 | |
-s file | 文件大小不为0为真 | |
-u file | 文件的set-user-id位被设置为真 | |
-w file | 文件 | |
-x file | 文件可执行为真 |
控制结构(if)
if 条件
then
语句
else
语句
fi
或使用elif多重选择
if 条件
then
语句
elif 条件
语句
else
语句
fi
num=1
if [ "$num" -eq 1 ]; then
echo 1
elif [ "$num" -eq 2 ]; then
echo 2
else
echo 3
fi
exit 0
for语句
for variable in values;
do
语句
done
#! /bin/bash
for i in $(ls /tmp);do
ls '/tmp/'$i
done
exit 0
while语句
while 条件 do;
语句
done
until语句
和whle相似,不过它是反复执行直到条件为真,而不是条件为真是反复执行
until 条件
do
语句
done
case语句
每个模式行都以分号;;结尾
case variable in
parttern [| parttern] ...) 语句;;
esac
linux系统shell基础知识入门二的更多相关文章
- linux系统shell基础知识入门
什么是shell shell就是我们常说的命令行程序,它是一个作为用户与Linux系统间接口的程序,它允许用户向操作系统输入要执行的命令.在Linux中安装多个shell是可行的,一般系统有默认的sh ...
- 【Linux教程】Linux系统零基础编程入门,想当大神?这些你都要学
✍ 文件和文件系统 文件是Linux系统中最重要的抽象,大多数情况下你可以把linux系统中的任何东西都理解为文件,很多的交互操作其实都是通过文件的读写来实现的. 文件描述符 在Linux内核中,文件 ...
- Linux Shell 基础知识(二)
1.本文知识结构 2.文件的查询与检索 2.1. cd 目录切换 找到文件/目录位置:cd 切换到上一个工作目录: cd - 切换到home目录: cd or cd ~ 显示当前路径: pwd 更改当 ...
- Linux系统网络基础知识及配置
一:DNS(domain name system)简介 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而 ...
- Shell基础知识(二)
对于一个shell脚本来说,第一行是 "#!/bin/bash",这条命令中的 "#!" 告诉系统该用哪一款解释器来对该脚本进行解释,后面的"/bin ...
- UNIX SHELL基础知识总结(二)
1. vim,vi及ex的关系 vim不需要安装,vi为ex的“Visual Mode”,Vim是vi的高级版本: 2. Unix Shell 快捷键 Ctrl+a/e将光标定位到 命令的头/尾 Ct ...
- Linux基础知识入门
[Linux基础]Linux基础知识入门及常见命令. 前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1: ...
- Linux shell基础知识(上)
Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...
- Linux Shell 基础知识(一)
1. 本文知识结构 2. shell 基础知识 2.1 shell 简单介绍 GNU bash shell 能提供对 Linux 系统的交互式访问,一般来说,使用快捷键 Ctrl + Alt + ...
随机推荐
- Qt 之 qwt 和 qwtpolar 的编译配置
1 Qwt Qwt 全称为 Qt Widgets for Technical Applications,用于专业技术领域的可视化显示,如下所示: 左图为二阶系统的频率响应:中图为德国小城 Fried ...
- mysql中的case when then 的用法
将立立饭饭的性别变更为女 ,烦烦 嗯嗯 问我的性别变更为男 update `table` set sex = ( case when sname in('立立','饭饭') then '女' else ...
- c# 第9节 数据类型之值类型
本节内容: 1:数据类型是什么 1:数据类型是什么 2:数据类型--值类型 3:值类型和引用类型的区分 画图现象: 3:值类型的种类 整数: 浮点数: 字符:
- Artificial Intelligence in Finance
https://sigmoidal.io/real-applications-of-ai-in-finance/ Artificial Intelligence is taking the finan ...
- HttpRuntime应用程序运行时
System.Web.HttpRuntime类是整个Asp.net服务器处理的入口. 这个类提供了一系列的静态属性,反映web应用程序域的设置信息,而且每个web应用程序域中存在一个System.We ...
- GIT : IDEA切换到某个tag
背景看一本presto的书,发现版本用的是presto-0.107这个版本.然后我去Apache clone下源码,发现分支只有几个,但是下载页面却有很多不同的版本 然后看Tag发现有很多. 然后我现 ...
- ESP8266 AT指令开发(基于STC89C52单片机): 硬件使用说明
实物图 硬件说明 开发板板载说明: 1.主控芯片: STC89C52 2.Wi-Fi模块: ESP8266 3.温湿度传感器: DHT11 4.液晶屏: IIC OLED 5.继电器: 220V 10 ...
- for循环包含多个双引号怎么办?windows
for循环包含多个双引号怎么办?windows@echo offsetlocal EnableDelayedExpansionset "sed=%~sdp0sed"echo %se ...
- Codechef Chef Cuts Tree
该思博的时候就思博到底,套路的时候不能再套路的一道题 首先我们将联通块的大小平方和进行转化,发现它就等价于连通点对数,而这个可以转化为连接两点的边数(距离)和 所以我们考虑第\(i\)天时,一个点对\ ...
- [题解向] 正睿Round435
10.14 Link 唔,这一场打得不好.获得了\(\rm 75pts/300pts\)的得分,但是居然可以获得\(\rm 27/69\)的名次,也不至于不满意--毕竟是真不会233 \(\rm T1 ...