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. 【题解】入阵曲 luogu3941 前缀和 压维

    丹青千秋酿,一醉解愁肠. 无悔少年枉,只愿壮志狂 题目 题目描述 小 F 很喜欢数学,但是到了高中以后数学总是考不好. 有一天,他在数学课上发起了呆:他想起了过去的一年.一年前,当他初识算法竞赛的 时 ...

  2. js笔记16

    动画 (1)css样式提供了运动  过渡的属性transition 从一种情况到另一种情况叫过渡 transition:attr   time   linear   delay attr 是变化的属性 ...

  3. Redis热点key优化

    热门新闻事件或商品通常会给系统带来巨大的流量,对存储这类信息的Redis来说却是一个巨大的挑战.以Redis Cluster为例,它会造成整体流量的不均知,个别节点出现OPS过大的情况,极端情况下热点 ...

  4. 我是怎么写 Git Commit message 的?

    目录 作用 用的什么规范? type scope subject body footer 参考文章 用的什么辅助工具? 作用 编写格式化的 commit message 能够大大提高代码的维护效率. ...

  5. layui 点击按钮 界面会刷新问题

    将button 改为input: <input class="layui-btn" type="button" style="border:so ...

  6. 对象池技术和通用实现GenericObjectPool

    对象池技术其实蛮常见的,比如线程池.数据库连接池 他们的特点是:对象创建代价较高.比较消耗资源.比较耗时: 比如 mysql数据库连接建立就要先建立 tcp三次握手.发送用户名/密码.进行身份校验.权 ...

  7. JAVA并发(8)-ThreadPoolExecutor的讲解

    很久前(2020-10-23),就有想法学习线程池并输出博客,但是写着写着感觉看不懂了,就不了了之了.现在重拾起,重新写一下(学习一下). 线程池的优点也是老生常谈的东西了 减少线程创建的开销(任务数 ...

  8. ADO.NET整理 [转]

    虽然我们都知道ADO.NET是对数据库的操作,但是要真的说出ADO.NET的具体含义还不是很容易. ADO.NET是ActiveX Data Objects的缩写,它是一个COM组件库,用于在micr ...

  9. bat自动创建快捷方式并更换图标

    1 :: 此脚本主要的作用创建1.自动创建快捷方式:2.自动更换快捷方式图标 2 @echo off 3 >nul 2>&1 "%SYSTEMROOT%\system32 ...

  10. Vue高阶

    Vue.cli是基于vue应用开发提供的一个脚手架工具,为应用搭建基础的框架架构,提供插件.开发服务.打包等功能. 1. 安装 node.js是一个JavaScript的运行环境,提供了一个事件驱动. ...