linux shell编程技巧

1,shell 特性
history 用法 连续敲两个!! 代表输入history
!$代表上一条命令的最后一个参数
! 数字代表执行数字数的命令
!vi 代表从history 从下向上数,最近一条vi开头的命令
$!

2,tab用于命令补全
如果按完以后不动,那就连续按两下tab

3,alias 用于取别名 ,用于给经常使用的命令取别名

4,* 代表通配符,ls[12].txt 打开1或者2中的一个文件,表示任选其一
?代表,只有一个
>代表重定向,>>代表追加<代表反向重定向

5.|代表管道命令,将一个结果的输出结果作为参数传给管道后边
也就是将前面命令的输出作为后面命令的输入

6,crtl+Z表示暂停命令 sleep 表示休眠,jobs表示查看当前被暂停的命令
fg + 编号表示继续 带有+的表示优先恢复
ctrl+C代表的是终止进程

7,env 打印出系统的一些内置的变量

8,export 全局声明变量 给变量赋值

vi sh01.sh 创建shell 脚本

#!/bin/bash --脚本的起始位置


date +%Y%n%d --正文内容

echo 'i am chinese'

:wq保存退出

-rw-r--r-- 1 root root 48 9月 26 13:04 sh01.sh
第一位是代表的文件类型
接下来三位代表的是root用户权限
同组其他成员权限
其他组成员的执行权限

改变权限 chmod
4+2+1 分别代表三位2进制的和
改变颜色,说明可以执行

执行shell脚本的命令
./ --执行当前目录下的文件 输出执行结果,或者没有结果

例:判断某个文件是否存在
判断某个文件夹是否存在
[root@ora11gr2 scripts]# chmod +x sh02.sh --添加执行权限
[root@ora11gr2 scripts]# sh sh02.sh 执行文件
/u01/actlog/user_20161128.log
[root@ora11gr2 scripts]#

在shell中语句前面加#表示注释
注意是中括号 不是分号
正则用法^ 代表以。。。开头 $代表以 。。。结尾

命令
ls /u01/actlog|grep ^user|grep log$|wc -l
代表求复合条件的行数
shell 的大于小于命令

> -gt ,= -eq < -lt

循环语句
#!/bin/bash

for x in `ls /home` ---一定要注意这个单引号
do
echo $x
done
~

seq 数字表示生成数字个的序列


数字运算
cat /dev/null > sh03.sh --表示把空替换sh03.sh中的全部内容

反引号位于tab 键的上面``

$# 表示参数的个数
$0 表示 调用方式 例如 ./sh
echo$#求总和

if [ "x$1" = "x" ]; then
exit -1;
fi;
crontab -l --查看当前用户下的任务计划
crontab -e --编辑任务
分钟 小时 日 月 周
*/1 * * * * (/root/scripts/sh01.sh 1000)>> sh04.out 2 >&1 &---错误输出到2
每分钟执行一次sh01.sh这个脚本
$ 可以取变量的值,可以放在双引号里面
也可以几点到几点执行 。。。




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值