1 #!/bin/bash
2 : << !
3 #使用变量
4 your_name="qinjx"
5 echo $your_name
6 echo ${your_name}
7 #只卖变量
8 myUrl="http://www.w3cschool.cc"
9 readonly myUrl
10 myUrl="http://www.runoob.com"
11 #删除变量
12 unset variable_name
13
14 #数据类型:数字和字符串
15 #定义字符串
16 str1='this is a string' #单引号里的任何字符都会原样输出,字符串中的变量是无效的
17 str2="Hello, I know your are \"$str1\"! \n" #双引号里可以有变量和转义字符
18 #读取字符串长度
19 string="abcd"
20 echo ${#string} #输出 4
21 #分割提取子字符串
22 string="runoob is a great site"
23 echo ${string:1:4} # 输出 unoo ,从字符串第 2 个字符开始截取 4 个字符:
24 #查找子字符串
25 string="runoob is a great company"
26 echo `expr index "$string" is` # 输出 8
27 !
28 : << !
29 #数组
30 #定义数组
31 array_name=(value0 value1 value2 value3)
32 #或者
33 array_name=(
34 value0
35 value1
36 value2
37 value3
38 )
39 #单独定义各数组变量
40 rray_name[0]=value0
41 array_name[1]=value1
42 #读取数组
43 valuen=${array_name[n]} #读取单个数组
44 echo ${array_name[@]} #读取多个数组
45 #数组的长度
46 # 取得数组元素的个数
47 length=${#array_name[@]}
48 # 或者
49 length=${#array_name[*]}
50 # 取得数组单个元素的长度
51 lengthn=${#array_name[n]}
52 #基本运算
53 #加算
54 val=`expr 2 + 2`
55 echo "两数之和为 : $val"
56 #减算
57 `expr $a - $b`
58 #乖算
59 `expr $a \* $b`
60 #除算
61 `expr $b / $a`
62 #除余
63 `expr $b % $a`
64 #赋值
65 a=$b
66 #相等
67 [ $a == $b ] #返回布尔值
68 #不相等
69 [ $a != $b ] #返回布尔值
70 !
71 #if判断
72 a=10
73 b=20
74 if [ $a != $b ]
75 then
76 echo "a 不等于 b"
77 fi
78
79
80

  

shell常识的更多相关文章

  1. 《Unix&Linux大学教程》学习笔记三:Shell常识

    1:全局变量与局部变量 全局:可以从父进程传递给子进程的变量,如:环境变量. 局部:只能在特定的子Shell中使用的变量. 局部变量变全局:使用 “export 局部” 指令将创建的局部变量导出到环境 ...

  2. shell - 常识

    一.用户登陆进入系统后的系统环境变量: $HOME 使用者自己的目录 $PATH 执行命令时所搜寻的目录 $TZ 时区 $MAILCHECK 每隔多少秒检查是否有新的信件 $PS1 在命令列时的提示号 ...

  3. 几个shell程序设计小知识(shell常识部分)

    [转自]http://blog.chinaunix.net/uid-168249-id-2860686.html 引用:一.用户登陆进入系统后的系统环境变量:  $HOME 使用者自己的目录  $PA ...

  4. shell常识总结

    #!/bin/bash cmd="ls -lt | grep ^d | awk 'NR==1 {print $9}'" $cmd 这是一个获取文件夹名字的脚本,但是却提示: ls: ...

  5. 初始scrapy,简单项目创建和CSS选择器,xpath选择器(1)

    一 安装 #Linux: pip3 install scrapy #Windows: a. pip3 install wheel b. 下载twisted http://www.lfd.uci.edu ...

  6. 40个超有趣的Linux命令行彩蛋和游戏

    40个有趣的Linux命令行彩蛋和游戏,让你假装成日理万机的黑客高手.附一键安装脚本,在树莓派和ubuntu云主机上亲测成功,有些还可以在Windows的DOS命令行中运行. 本文配套B站视频:40个 ...

  7. SHELL脚本编程的常识和VI常用技巧

    来源:http://mprc.pku.edu.cn/mentors/training/TrainingCourses/material/ShellProgramming.HTM#_Toc3751808 ...

  8. Shell脚本编程的常识

    (这些往往是经常用到,但是各种网络上的材料都语焉不详的东西,个人认为比较有用) 七种文件类型 d            目录                                       ...

  9. shell脚本编程常识

    (这些往往是经常用到,但是各种网络上的材料都语焉不详的东西,个人认为比较有用) 七种文件类型 d            目录                                       ...

随机推荐

  1. 解决java socket在传输汉字时出现截断导致乱码的问题

    解决java socket在传输汉字时出现截断导致乱码的问题 当使用socket进行TCP数据传输时,传输的字符串会编码成字节数组,当采用utf8编码时,数字与字母长度为1个字节,而汉字一般为3个字节 ...

  2. mysql left join转inner join

    在日常优化过程中,发现一个怪事情,同一个SQL出现两个完全不一样执行计划,left join 连驱动表都可以变成不一样. 对于left join,如果where条件里有被关联表过滤,left join ...

  3. SpringAnimator弹簧联动效果的实现

    使用SpringAnimation实现弹簧联动 简介 弹簧效果动画SpringAnimation与甩动效果动画FlingAnimation使用上很类似,主要区别在于FlingAnimation是根据甩 ...

  4. Unity 添加,修改默认创建脚本模板

    Unity 默认创建的脚本可以添加也可以修改,不需要修改Editor. 一.找到模板目录 \Editor\Data\Resources\ScriptTemplates 二.如果要修改模板,直接打开修改 ...

  5. 15、修改sqldeveloper的JDK路径

    15.1.说明: 1.第一次使用Oracle SQL Developer时会提示选择JDK路径(只会在第一次使用时提示), 如果选择了高版本的JDK(1.8)路径,可能会出现了如下两种情况: (1)s ...

  6. 11、mysql索引详解

    1.索引介绍: 2.建立索引的方法: 注意:索引名称不要相同: (1)在建表的时候,可以增加主键索引的语句如下: 1)例一: create table student1 ( id int(4) not ...

  7. hive学习笔记之十:用户自定义聚合函数(UDAF)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<hive学习笔记>的第十 ...

  8. Raspberry Pi:树莓派安装基础系统 Raspberry Pi(树莓派系统)

    准备材料 树莓派4B 树莓派系统镜像 SDFormatter (格式化工具) Win32DiskImager (镜像拷录工具) 镜像下载 Rspberry Pi (2020-08-24版本比较稳定) ...

  9. Java:Java多线程实现性能测试

    创建多线程和线程池 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import ...

  10. java设计模式(9):模板方法模式(TemplateMethod)

    一,定义:模板方法模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 二,类图: 三,通过小例子讲解: 这个模式一般用在 ...