shell常识
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常识的更多相关文章
- 《Unix&Linux大学教程》学习笔记三:Shell常识
1:全局变量与局部变量 全局:可以从父进程传递给子进程的变量,如:环境变量. 局部:只能在特定的子Shell中使用的变量. 局部变量变全局:使用 “export 局部” 指令将创建的局部变量导出到环境 ...
- shell - 常识
一.用户登陆进入系统后的系统环境变量: $HOME 使用者自己的目录 $PATH 执行命令时所搜寻的目录 $TZ 时区 $MAILCHECK 每隔多少秒检查是否有新的信件 $PS1 在命令列时的提示号 ...
- 几个shell程序设计小知识(shell常识部分)
[转自]http://blog.chinaunix.net/uid-168249-id-2860686.html 引用:一.用户登陆进入系统后的系统环境变量: $HOME 使用者自己的目录 $PA ...
- shell常识总结
#!/bin/bash cmd="ls -lt | grep ^d | awk 'NR==1 {print $9}'" $cmd 这是一个获取文件夹名字的脚本,但是却提示: ls: ...
- 初始scrapy,简单项目创建和CSS选择器,xpath选择器(1)
一 安装 #Linux: pip3 install scrapy #Windows: a. pip3 install wheel b. 下载twisted http://www.lfd.uci.edu ...
- 40个超有趣的Linux命令行彩蛋和游戏
40个有趣的Linux命令行彩蛋和游戏,让你假装成日理万机的黑客高手.附一键安装脚本,在树莓派和ubuntu云主机上亲测成功,有些还可以在Windows的DOS命令行中运行. 本文配套B站视频:40个 ...
- SHELL脚本编程的常识和VI常用技巧
来源:http://mprc.pku.edu.cn/mentors/training/TrainingCourses/material/ShellProgramming.HTM#_Toc3751808 ...
- Shell脚本编程的常识
(这些往往是经常用到,但是各种网络上的材料都语焉不详的东西,个人认为比较有用) 七种文件类型 d 目录 ...
- shell脚本编程常识
(这些往往是经常用到,但是各种网络上的材料都语焉不详的东西,个人认为比较有用) 七种文件类型 d 目录 ...
随机推荐
- 剑指0ffer59.滑动窗口的最大值
给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值. 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] ...
- MAT工具定位分析Java堆内存泄漏问题方法
一.MAT概述与安装 MAT,全称Memory Analysis Tools,是一款分析Java堆内存的工具,可以快速定位到堆内泄漏问题.该工具提供了两种使用方式,一种是插件版,可以安装到Eclips ...
- excel VBA数组运用
Sub a()Dim i人数 As Integer'定义变量Dim i考试成绩() As Integer'定义数组Dim i As Integer'定义变量i人数 = InputBox("输 ...
- Go 中的 channel 与 Java BlockingQueue 的本质区别
前言 最近在实现两个需求,由于两者之间并没有依赖关系,所以想利用队列进行解耦:但在 Go 的标准库中并没有现成可用并且并发安全的数据结构:但 Go 提供了一个更加优雅的解决方案,那就是 channel ...
- 37、linux下安装python3.6和django
37.1.安装python: 1.python介绍: python是一种面向对象的,解释型的计算机语言,它的特点是语法简介,优雅,简单易学.1989年诞生,Guido(龟叔)开发. 编译型语言:代码在 ...
- js jquey 笔记
1.使用insertAfter 如果插入在tr后添加多行数据,数据会倒过来注意组字符串需要倒着循环 1).html方法,给元素添加html代码或者清空html代码(参数为空字符串): 2).appen ...
- iOS 针对txt文档进行解码
如我上一篇文章记录,我加了打开其他APPtxt文件的小功能,紧接着碰到新问题了,我在测试过程中发现用户上传的TXT编码格式很多不单单是utf-8和gb2312,针对TXT文档进行解码,我一共经历过两个 ...
- Java:Java的堆区、栈区和方法区详解
Java内存空间理解 堆:堆主要存放Java在运行过程中new出来的对象,凡是通过new生成的对象都存放在堆中,对于堆中的对象生命周期的管理由Java虚拟机的垃圾回收机制GC进行回收和统一管理.类的非 ...
- Springboot:单元测试Junit基本注解@BeforeClass、@AfterClass、@Before、@After、@Test、
一.unit中集中基本注解,是必须掌握的. @BeforeClass – 表示在类中的任意public static void方法执行之前执行 @AfterClass – 表示在类中的任意public ...
- let const关键字
let 是取代var 在块级作用域里面有效 <!DOCTYPE html> <html lang="en"> <head> <meta c ...