shell小记
1.以#!/bin/bash 开头
2.执行方式 bash sh ./ `script`
3.变量: 系统变量 自定义变量 --->export 可导出为全局环境变量
set显示所有shell变量 unset 取消变量 readonly静态变量不能被unset
4.获取命令返回值
A=`ls -al` ===== A=$(ls-al) -----> echo $A
5.参数取值
&* 全部参数
$@ 无引号时代表全部参数,有引号代表全部参数的数组
$# 传入参数的个数
$n 代表传入的第几个参数,0代表shell本身 第10位以上的参数${10}
$$ 当前进程号
$! 后台运行的最后一个进程号
$? 上一个命令执行的返回状态 0代表成功
6.运算符
$((calc)) 或者 $[cals]
expr `clac` 直接输出了
例:expr `expr 2 + 3` \* 4 -->20
A=[(2+3)*4] echo $A -->20
7.条件判断
[ condition ] 注意:前后有空格
23是否大于22 [ 23 -gt 22 ]
test.txt是否有读权限 [ -r test.txt ]
hive.log是否存在 [-e /hive.log]
8.分支语句
if case
#!/bin/bash
if [ $ = ] ; then 不换行写分号
echo
elif [ $ = ] 换行不用写
then
echo
else else不写then
echo
fi #!/bin/bash
case $ in
)
echo
;; 注意双分号
)
echo
;;
*) 没匹配的执行这个
echo
;;
esac
for while
s=
for ((i=;i<=;i++)) 也可 ;do
do
s=$[$s+$i]
done echo $s for x in ; do
echo $x
done for y in "$@"
do
echo $y
done i=
s=
while [ $i -le ] 用此类型比较符
do
s=$[$s+$i]
i=$[$i+]
done
echo $i
echo $s
9.控制台读入信息
read -t 10 -p "等待10秒读入姓名" NAME echo $NAME
10.函数
basename 获取文件名(去除目录部分)
dirname 获取目录(去除文件名部分)
自定义函数 function funName()
{
方法体(没有return时,最后一条语句作为返回值,$?获取)
}
shell小记的更多相关文章
- linux 常用反弹shell小记
在渗透测试过程中由于防火墙和其它安全防御措施,很多服务器只能单向向外访问,不能被访问,我们常常需要反弹shell. 1.bash反弹shell 本地开启监听 nc -lvvp 受害主机命令 bash ...
- Shell常见用法小记
shell的简单使用 最近发现shell脚本在平常工作中简直算一把瑞士军刀,很多场景下用shell脚本能实现常用的简单需求,而之前都没怎么学习过shell,就趁机把shell相关的语法和常见用法总结了 ...
- 【转】shell expect spawn、linux expect 用法小记 看着舒服点
使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: ######## ...
- Linux shell 脚本小记
if结构 #!/bin/env bash -gt ] then echo "$1 is positive" -lt ] then echo "$1 is negative ...
- shell脚本的小记
作者:邓聪聪 mysql的脚本执行 #!/bin/sh HOST="127.0.0.1" PORT=" UESRNAME="root" PASSWOR ...
- Linux shell 脚本小记2
.从文件读取 while read line do echo "line=$line" done < file.txt .将字符串转换为数组,并进行遍历 str=" ...
- linux/unix shell bash script 小记
#script PSAATL11*` do $i | awk -F ':' '{print $1}'` do ((k=j+)); m=$(zcat $i | sed -n ${j},${k}p); e ...
- linux 下cmake 编译 ,调用,调试 poco 1.6.0 小记
上篇文章 小记了: 关于 Poco::TCPServer框架 (windows 下使用的是 select模型) 学习笔记. http://www.cnblogs.com/bleachli/p/4352 ...
- 开发Android系统内置应用小记
Android系统内置应用可以使用更多的API.更高的权限,与开发普通应用最大的差别在于编译,内置应用编译需要用到Android.mk文件.下面是我在开发过程中的一些小记. 1.在AndroidMai ...
随机推荐
- Codeforces 1106 E. Lunar New Year and Red Envelopes 优先队列+dp
题意大致是Bob新年拿红包,每个红包可以在s-t时间内取,但是取了之后得在d+1时间开始才能继续取红包. 同时他女儿能在m个时间点阻止他取红包,求女儿阻止后Bob取得的w总和最小值. Bob取红包的策 ...
- HashMap实现原理及源码分析之JDK7
攻克集合第一关!! 转载 http://www.cnblogs.com/chengxiao/ 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如m ...
- 命令行编译执行java
命令行编译运行java程序 使用命令 javac进行编译 和 java进行执行. javac 后面跟着的是java文件的文件名,例如 HelloWorld.java. 该命令用于将 java 源文件编 ...
- centos安装telnet
安装环境:CentOS 6.4 上篇已经讲述了memcached的安装,现在要测试Memcached功能的时候,需要使用到telnet服务.于是就有了本篇. 一.安装telnet 1.检测t ...
- java课设数据库打包报错
最近在交java课设时把东西打包给老师遇到许多奇葩问题, 首先是数据库复制时提示: 这是数据库与SQL server服务没有分离(我用的是SQLserver暂时,对于其他的,我以后会继续尝试)可以进行 ...
- canvas绘制折线图(仿echarts)
遇到的问题:Retina屏上字体线条模糊问题 解决方案:放大canvas的大小,然后用css压缩回原大小,例如:想要900*400的画布,先将画布设置为 width="1800px" ...
- 【转】SVG与HTML、JavaScript的三种调用方式
原文:https://www.cnblogs.com/guohu/p/5085045.html SVG与HTML.JavaScript的三种调用方式 一.在HTMl中访问SVG的DOM 1 2 3 4 ...
- SVG 动画(animate、animateTransform、animateMotion)
原文:https://blog.csdn.net/chy555chy/article/details/53535581 参考 MDN开发文档 https://developer.mozilla.org ...
- 天天沉迷于皇上本宫的都是sb
天天沉迷于皇上.本宫.奴才.太后的都是sb,时不时还要被某王和某平民的爱情感动的落泪.这是病,要治,最有效的治疗方法是38度的夏天去搬砖. 拍这些电视的人真不傻,知道真sb多,这种电视剧才能爆款.
- 20155211 课下测试ch11补做
20155211 课下测试ch11补做 Web服务器的实现基于HTTP协议,有关HTTP协议,下面说法正确的是() A.可以用telnet充当Web服务器的客户端进行调试 B.HTTP请求的GET和P ...