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 ...
随机推荐
- acl 4 year statistics
- [luogu2680] 运输计划
题面 很明显, 由于是求最长路的最小值, 我们可以使用二分求解. 我们二分一个长度\(mid\), 将所有使得\(dis(u, v)\)大于\(mid\)的点对\((u, v)\)找出, 设总共有 ...
- TensorFlow Activation Function 1
部分转自:https://blog.csdn.net/caicaiatnbu/article/details/72745156 激活函数(Activation Function)运行时激活神经网络中某 ...
- SharePoint Search 分词(WordBreaker)
[问题] 我们经常会搜索一个很长的词,例如“国際協力銀行” ,对应的搜索结果中会有关于“国際”“協力”“銀行”相关内如都会搜索到,这样的行为就是分词,那如何知道搜索内如是如何分词的呢? [解决办法] ...
- GoldData学习实例-采集官网新闻数据
概述 在本节中,我们将讲述抓取政府官网地方新闻.并将抓取的新闻数据融入到以下两张数据表news_site和news中. news_site(新闻来源) 字段 类型 说明 id bigint 主键,自动 ...
- Truck History(prime)
Truck History Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 31871 Accepted: 12427 D ...
- Qt5.4 All Modules
Qt5.4 All Modules Qt Essentials Qt essentials define the foundation of Qt on all platforms. They are ...
- const限定符用法汇总
const限定符限定变量的类型是一个常量,对象一旦创建后其值就无法改变,所以const对象必须初始化. 初始化 const int i = get_size(); //运行时初始化 const int ...
- [原][osgearth]OE地形平整代码解读
在FlatteningLayer文件的createHeightField函数中:使用的github在2017年1月份的代码 if (!geoms.getComponents().empty()) { ...
- 当使用了相对路径 <base href="<%= basePath %>" /> 后,全局都只能使用相对路径
<% String path = request.getContextPath(); String basePath = request.getScheme() + "://" ...