Shell学习笔记 ——第一天
1、程序第一行 指定执行Shell的程序
#!/bin/bash
#!用来告诉系统它后面的参数是用来执行该文件的程序
2、在控制台输出信息
echo "Hello Shell"
#!/bin/bash
#向控制台输出信息
echo "Hello shell"
保存,退出!
3、使脚本可执行,需要在DOS窗口 执行如下命令
chmod +x fileName
4、执行脚本
./helloShell
5、变量的使用
Shell中,变量不用声明,直接用即可(类似于Lua),变量名和等号之间不能有空格
取出变量使用美元符号 $
#变量的使用
a="i am a variable"
echo $a
echo ${a}
使用花括号是为了防止变量与字符串相邻时,不确定变量是什么!如:$numth 与 ${num}th 前者取变量名为numth的变量,后者取变量名为num的变量。
变量类型有:局部变量(仅在当前实例中有效),环境变量,Shel变量
6、Shell常用命令
文件统计命令:wc –l fileName, wc -w fileName, wc -c fileName: 计算文件行数, 计算文件中的单词数, 计算文件中的字符数
文件拷贝: cp sourcefile destfile
重命名文件或移动文件: mv oldname newname
删除文件: rm file
文件中搜索字符串(支持正则表达式):grep 'str' fileName 会将搜索到的行输出到控制台
输出文件内容到屏幕上: cat fileName
获取用户输入: read varName 将用户输入,赋值给变量varName
将一个变量设置为只读变量:readonly varName 这时候如果更改变量就会报错
删除变量:unset -v varName (不加$)
7、字符串拼接
直接拼接,不需要任何连接字符,如变量var 与 "hello" 拼接
echo ${var}"hello"
8、获取字符串长度
${#var}
9、截取字符串
#截取字符串 从第三个截取到第四个
subStr=${a::}
echo $subStr
10、数组的使用
#数组 三种定义方式 注意,使用的是小括号 不是 花括号
arrayVar=("one" "two" "three" "four")
arrayVar2=(
""
""
""
)
arrayVar3[]="一"
arrayVar3[]="二" #使用时 下标从0开始
echo ${arrayVar[]}${arrayVar[]}
echo ${arrayVar2[]}${arrayVar2[]}
echo ${arrayVar3[]}${arrayVar3[]}
数组遍历
#数组遍历
for num in ${arrayVar[*]}
do
echo ${num}
done
11、加减乘除 取余
原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用
#运算符
num1=
num2= #加减乘除 取余 两项之间,必须有空格
#expr 只能对整形计算
echo `expr ${num1} + ${num2}`
echo `expr ${num1} - ${num2}`
echo `expr ${num1} \* ${num2}`
echo `expr ${num1} / ${num2}`
echo `expr ${num1} % ${num2}` #浮点运算
result=`echo "5.0-1.8"|bc`
echo "5.0-1.8="$result
12、数字比较 相等,大于,小于
#相等-eq 不等 -ne
eq1=
eq2=
if [ $eq1 -eq $eq2 ]
then
echo "eq1 = eq2"
else
echo "eq1 != eq2"
fi #大于-gt 小于 -lt
if [ $eq1 -gt $eq2 ]
then
echo "eq1 > eq2"
else
echo "eq1 <= eq2"
fi
13、布尔运算符
或-o 与-a 非!
#字符串比较
str1="abcd"
str2="abcd"
str3="abcder"
#if 后面必须有空格,=作为判断是否相等时,两边必须有空格 [] 必须有空格
if [ $str1 = $str2 ]
then
echo "str1=str2"
else
echo "str1!=str2"
fi #或-o 与-a 非!
if [ $str1 = $str2 -a $eq1 = $eq2 ]
then
echo "true"
else
echo "false"
fi
14、检测端口
netstat -ntpl|grep 8082
Shell学习笔记 ——第一天的更多相关文章
- 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学习笔记----IF条件判断,判断条件
SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here ...
- ActionBarSherlock学习笔记 第一篇——部署
ActionBarSherlock学习笔记 第一篇--部署 ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- SHELL学习笔记三
SHELL学习笔记一 SHELL学习笔记二 SHELL学习笔记三 for 命令 读取列表中的复杂值 从变量读取列表 从命令读取值 更改字段分隔符 用通配符读取目录 which 使用多个测试命令 unt ...
- Django学习笔记---第一天
Django学习笔记 1.Django的安装 //如果不指定版本号,默认安装最新版 pip3 install django==1.11.8 关于Django的版本和python的版本依赖关系,请看下图 ...
随机推荐
- js-json教程从入门到使用
json教程从入门到使用 2.json例子: var today_data={"city":"上海","area":"6400&q ...
- 《JS权威指南学习总结--8.8.2高阶函数》
内容要点: 所谓高阶函数(higher-order function)就是操作函数的函数,它接收一个或多个函数作为参数,并返回一个新函数. 例1: //这个高阶函数返回一个新的函数,这个新函数将它的实 ...
- POJ 2305 Basic remains(进制转换)
题目链接:http://poj.org/problem?id=2305 ime Limit: 1000MS Memory Limit: 65536K Total Submissions: 5326 ...
- ggplot2 scale相关设置2—时间设置
在scale设置中,常用的日期方面的设置函数包括: scale_x_date(),scale_y_date(),scale_x_datetime(),scale_y_datetime() 接下来, ...
- 使用紧凑的序列化器,数倍提升性能 —— ESFramework 4.0 快速上手(11)
在分布式通信系统中,网络传递的是二进制流,而内存中是我们基于对象模型构建的各种各样的对象,当我们需要将一个对象通过网络传递给另一个节点时,首先需要将其序列化为字节流,然后通过网络发送给目标节点,目标节 ...
- 重登陆模式 --ESFramework 4.0 快速上手(07)
在ESFramework框架中基于TCP的服务端引擎(当然也包括Rapid引擎)都采用了这样一条规则:默认情况下,客户端与服务器成功建立TCP连接以后,服务端会从客户端发过来的第一条消息中取出消息头的 ...
- HTML URL编码参考(转载)
URL编码(URL encoding)的作用是将字符转化为可在因特网上安全传输的格式.URL——统一资源定位符Web浏览器通过URL从Web服务器上请求页面.URL就是网页的地址,如:http://w ...
- csv格式导出文件
先上传连个图片看看效果,这是界面效果dwz框架(springmvc开发) 点击导出csv效果图 js部分的代码(带条件查询的csv导出): function exportReportCsv(){ ex ...
- php 好用的函数
extract — 从数组中将变量导入到当前的符号表,数组的键将作为新的变量,数组的值将最为新变量的值
- iOS9如何隐藏各种bar
转载自:http://www.cnblogs.com/aBigRoybot/articles/2234487.html 状态条StatusBar 1 [UIApplication sharedAppl ...