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 ...
随机推荐
- 洛谷 P1251 餐巾计划问题(线性规划网络优化)【费用流】
(题外话:心塞...大部分时间都在debug,拆点忘记加N,总边数算错,数据类型标错,字母写错......) 题目链接:https://www.luogu.org/problemnew/show/P1 ...
- 学习python第三天之多行函数
多行函数:(聚合函数/分组函数) 解释:多条数据进入,单条结果出来(多进单出) 1).max(obj):最大值 2).min(obj):最小值 3).sum(num):求和 4).avg(num):求 ...
- ubuntu16.04更新内核--使用4.6以上的内核会让用A卡的Dell电脑更快--及卸载多余内核
tips:我自己就是Dell的A卡电脑,用16.04桌面感觉不如fedora流畅,后来手动升级到4.6.2内核,发现可以和fedora与windows一般桌面操作流畅度. 我试过了4.7的开发版内核, ...
- 【洛谷】【堆】P1168 中位数
[题目描述:] 给出一个长度为N的非负整数序列A[i],对于所有1 ≤ k ≤ (N + 1) / 2,输出A[1], A[3], …, A[2k - 1]的中位数.即前1,3,5,……个数的中位数. ...
- SPOJ-SUBSET Balanced Cow Subsets
嘟嘟嘟spoj 嘟嘟嘟vjudge 嘟嘟嘟luogu 这个数据范围都能想到是折半搜索. 但具体怎么搜呢? 还得扣着方程模型来想:我们把题中的两个相等的集合分别叫做左边和右边,令序列前一半中放到左边的数 ...
- Spring Boot中使用Redis小结
Spring Boot中除了对常用的关系型数据库提供了优秀的自动化支持之外,对于很多NoSQL数据库一样提供了自动化配置的支持,包括:Redis, MongoDB, 等. Redis简单介绍 Redi ...
- criterions的选择
criterions分为几类,其中有classification criterions与regression criterions.classification criterions是针对离散的,re ...
- mapent
package test12; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import ja ...
- MySQL(五)SELECT语句执行顺序
上一篇讲述了Oracle的SELECT语法的执行顺序,这篇讲述MySQL的SELECT语法的执行顺序.MySQL的SELECT语法的执行顺序和Oracle的基本相同,只是增加了MySQL独有的LIMI ...
- (转)CentOS 7 —— /etc/rc.local 开机不执行 - 解决方法
chmod +x /etc/rc.d/rc.localsystemctl enable rc-local.service Note: rc.local is obsolete. ----------- ...