shell学习笔记(一)
1、第一行必须以#!/bin/bash
#!表示脚本使用后面的解释器解释执行
2、echo 打印输出
例如 echo "hello world" > aa.txt


3、接收参数
#!/bin/bash
name=$1
age=$2
sex=$3
echo "name:$name;age:$age;sex:$sex"
运行效果:

4、接受用户输入的参数
#!/bin/bash
read -p "please input your name:" name
echo "my name is $name"

read :等待用户输入,类似于java里面的scanner
-p:提示信息
5、判断if/then /elif/else/fi
elif等同于else if
if 必须要以fi结束,否则会报错
例如:根据一个人的年龄判断他是少年,中年还是老年(这里就假设1~20是少年 21~60是中年 60十以上就是老奶年)
#!/bin/bash
read -p "please input your age:" age
if [ $age -lt 0 ]; then
echo "age is incorrect"
else
if [ $age -lt 20 ]; then
echo "younger"
elif [ $age -lt 60 ]; then
echo "adult"
elif [ $age -lt 120 ]; then
echo "older"
else
echo "age is incorrect"
fi
fi
附表
1、字符串判断
str1 = str2 当两个串有相同内容、长度时为真
str1 != str2 当串str1和str2不等时为真
-n str1 当串的长度大于0时为真(串非空)
-z str1 当串的长度为0时为真(空串)
str1 当串str1为非空时为真
2、数字的判断
int1 -eq int2 两数相等为真
int1 -ne int2 两数不等为真
int1 -gt int2 int1大于int2为真
int1 -ge int2 int1大于等于int2为真
int1 -lt int2 int1小于int2为真
int1 -le int2 int1小于等于int2为真
3、文件的判断
-r file 用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为正规文件为真
-d file 文件为目录为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件大小非0时为真
-t file 当文件描述符(默认为1)指定的设备为终端时为真
-e file 文件是否存在 test -e filename
-S file 文件是否存在,且为Socket文件
-p file 文件是否存在,且为FIFO(pipe)文件
-u file 文件是否存在,且具有SUID属性
-g file 文件是否存在,且具有SGID属性
-k file 文件是否存在,且具有 Sticky bit 属性
-s fie 文件是否存在,且为 非空白文件
4、复杂逻辑判断
-a 与
-o 或
! 非
shell学习笔记(一)的更多相关文章
- SHELL学习笔记----IF条件判断,判断条件
SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here ...
- shell学习笔记
shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...
- [转帖][Bash Shell] Shell学习笔记
[Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html 阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...
- shell学习笔记汇总
1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...
- shell 学习笔记2-shell-test
一.字符串测试表达式 前面一篇介绍:什么是shell,shell变量请参考: shell 学习笔记1-什么是shell,shell变量 1.字符串测试表达式参数 字符串需要用""引 ...
- SHELL学习笔记三
SHELL学习笔记一 SHELL学习笔记二 SHELL学习笔记三 for 命令 读取列表中的复杂值 从变量读取列表 从命令读取值 更改字段分隔符 用通配符读取目录 which 使用多个测试命令 unt ...
- 【转】shell学习笔记(一)——学习目的性、特殊字符、运算符等
1 学习shell的目的性 写之前我们先来搞清楚为什么要学shell,学习要有目的性 shell简单.灵活.高效,特别适合处理一些系统管理方面的小问题 shell可以实现自动化管理,让系统管理员的工作 ...
- [Bash Shell] Shell学习笔记
1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命 ...
- shell 学习笔记
<Linux命令行与shell脚本编程大全>笔记 wkss 其他:http://www.cnblogs.com/pengdonglin137/p/3528303.html 一.基本命令 ...
- CentOS 7 之Shell学习笔记
脚本是个永恒的话题,以前Dos下面也有Shell编程这一说的,比如说BAT文件有人写的好的话,也是瞬间速度变高大上.Linux下面这个应该更占比重了.我看到园子里有位园友做了一个Linux Shell ...
随机推荐
- 软考 程序员 下午考题 c语言 笔记
1. 数组名 是表示数组空间首地址的指针常量,程序中不允许对常量赋值. 如 int a[]; a就是数组名,表示数组控件首地址的指针常量 a = 0;是错误的,不允许对指针常量赋值 &a ...
- frames.contentWindow.document InvalidCastException 转换错误异常。
http://bbs.csdn.net/topics/210027068 和 https://bytes.com/topic/c-sharp/answers/248557-threading-pr ...
- 面向对象15.2String类-构造函数
public class String_Constructor { //快捷键小方法: Ctrl+d,删除整行,选中几行删除几行 public static void main(String[] ar ...
- 猜年龄---while循环
#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:Andy Chen age_of_oldboy = 56 count = 0while True ...
- 纯 CSS 实现波浪效果!
一直以来,使用纯 CSS 实现波浪效果都是十分困难的. 因为实现波浪的曲线需要借助贝塞尔曲线. 而使用纯 CSS 的方式,实现贝塞尔曲线,额,暂时是没有很好的方法. 当然,借助其他力量(SVG.CAN ...
- 将txt文档按行分割
昨天遇到了一个需求,需要将txt文档按行分割,并指定了行数, 最近在用python,就在网上搜了一下,在参考了http://blog.csdn.net/zhang_red/article/detail ...
- linux下文件查找工具--find
常用的文件查找命令有:which,locate,find 1.which命令 查找二进制数或二进制命令,由PATH给出 2.loacte 特点: 1.非实时,每天在系统上生成数据库,通过数据库查询 2 ...
- Ajax获取服务器信息
xhr.onreadystatechange = function(){ if (xhr.readyState == 4){ if ((xhr.status >= 200 && ...
- SetConsoleScreenBufferSize 函数--设置控制台屏幕缓冲区大小
SetConsoleScreenBufferSize函数 来源:https://msdn.microsoft.com/en-us/library/windows/desktop/ms686044(v= ...
- Objective-C 自定义UISlider滑杆 分段样式
效果 自定义一个功能简单的分段的滑杆 可显示分段名 为了显示效果,我们将滑块和节点都设置为不规则 这里只实现了分段的slider,未分段的没有实现,有兴趣的可以定义另一种类型做个判断修改下 需求分析 ...