我们在写sh的脚本时,常常需要在运行时输入一些数据。 大家可能已经了解过如何使用基本的$*,执行的情况,大概就是$0 $1 $2 $3 那么,那些系统命令里的参数又是如何做出来的呢? 我们如何在自己的脚本中实现$0-$1的效果呢?这就是getopts的作用了。 来看一个...
awk中让人头疼的system()函数,有需要的朋友参考下。 发现一个特尴尬的事实。我辛辛苦苦去百度资料,想用rewrite实现针对不同域名源站故障后的自动跳转功能,但整个思路里遗漏了一个严重的问题。 按我的思路,针对请求的url进行一次curl,然后根据http_code...
需求:要求获取用户输一个字符a-zA-Z: 方法一: 复制代码 代码如下: echo `echo {a..z}``echo {A..Z}` /tmp/letterfile while read -p please input a letter: letter do ((`awk-v var=$letter BEGIN{print length(var)}` == 1)) grep -q $letter /tmp/tmpf...
需求:找出某一目录下只有一行内容的文件。 演示例子,如下所示: 复制代码 代码如下: [root@station1 ~]# mkdir findtest [root@station1 ~]# cd findtest [root@station1 findtest]# mkdir abc [root@station1 findtest]# echo nihao 123.txt [root@statio...
描述: 公司服务器一般通过ssh进行远程管理。以前大家登录时,都是随意选内外网IP进入。现在要求必须禁了外网ssh。 第一思路,用iptables把外网ssh的包DROP掉; 第二思路,用tcpwrapper把sshd的allow写死; 第三思路,修改sshd_config,只监听内网请求。 原...
计算两个日期相差多少天数的shell脚本 复制代码 代码如下: #!/bin/bash #the days between your input and today! #2012-10-07 year(){ while read -p please input the year(must be YYYY ): YEAR do if ((YEAR=1990)) ((YEAR=9999));then echo $YEAR break...
需求:待备份的文件已列在一个文件中,要求备份的文件的路径和ftp服务器上的文件路径一致。 代码如下: #!/bin/bash cd /tmp while read FILE do DIR=`dirname $FILE` FNAME=`basename $FILE` mkdir $DIR /usr/bin/ftp -niv ! open 192.168.1.251 user tom 123...
我们知道,命令head、tail、uniq和tac都是逐行操作的。 但请也记住,不管何时,只要需要进行逐行处理时,均可以用awk来解决。 接下来,我们看看如何使用awk来模拟这些命令。 来看一下如何用不同的awk命令来模拟诸如head、tail、tac等命令。 模拟head命令读取...
本文介绍的内容,考查了一些简单的文本替换技术及bash中可用的参数扩展简写法。 这些简单的技巧通常能够让我们免于敲入多行代码之苦。 注意看以下的实例,强烈建议你在学习时,自己动手实践一下。 替换变量内容中的部分文本: 复制代码 代码如下: $ var=This...
使用sed和awk分别处理文本的双行模式。 文本内容: 140203196407011616 140203000108058 140203198809161616 140203000108058 要求结果如下: 140203196407011616,140203000108058 140203198809161616,140203000108058 首先,看下sed代码,sed中的N操作可以...