裸泳的猪

沾沾自喜其实最可悲

0%

shell知识点

Shell 中数字相加

1
2
3
4
5
6
7
8
9
10
11
12
a=10
b=20
c=`expr ${a} + ${b}`
echo "$c"

let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上
$ 来表示变量。如果表达式中包含了空格或其他特殊字符,则必须引起来。

let a=5+4
let b=9-3
echo $a $b

ftp命令

1
2
3
4
5
6
7
8
9
10
11
ftp ip.ip.ip.ip
#获取文件
mget
#上传文件
mput
#关闭确认提示
prompt
#删除文件
delete xxx.dat
#批量删除文件 支持通配
mdelete *xxx*

awk中输入外部的变量

1
2
#注意 " 和 '
grep kdpl_acct_bal load.sh|awk '{print "'$FilePath'"$4}'

数字的比较:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
-eq 相等(equal)

-ne 不等(not equal)

-gt 大于(greater than)

-lt 小于(less than)

-ge 大于等于 (greater than or equal)

-le 小于等于 (less than or equal)

字符串的比较:

[ $str1 = $str2 ] 等于

[ $str1 != $str2 ] 不等于

[ -z $str ] 空字符串返回true

[ -n $str ] 或者 [ $str ] 非空字符串返回true

grep

1
2
3
4
5
6
#grep
#-r 是递归查找
#-n 是显示行号
#-R 查找所有文件包含子目录
#-i 忽略大小写
grep -rn "hello,world!" *

清文件,腾空间相关

1
2
3
4
5
6
#查看空间:
df -h
du -sh * //查看当前所有目录及目录大小
du -h --max-depth=1 //列出当前目录每个目录下的大小兑付-
删除:
/bin/rm -rf ./2016* bin下执行 不进入回收站

查找包含某段信息的文件名

1
2
3
find .|xargs grep -ri "01000000000275" -l 
find . -name *.* |xargs grep "2052019052300000000138" -l
ps -ef|grep java //查找进程 java

强杀进程

1
2
3
ps -ef|grep job|grep -v grep|awk '{print $2}'|xargs kill -9
ps -ef|grep $ORACLE_SID|grep -v grep|awk '{print $2}'|xargs kill -9
ps -ef|grep sqlldr|grep -v grep|awk '{print $2}'|xargs kill -9

脚本开头加入

1
2
3
4
5
6
7
8
#! /bin/bash
#检查是否有未绑定变量
set -o nounset
#异常退出
set -o errexit
#退出前的处理 finally
trap 'echo "exitting"' exit

-------------本文结束感谢您的阅读-------------