Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Shell中的${}、##和%%使用范例

Shell中的${}、##和%%使用范例

今天看一个脚本文件的时候有一些地方不太懂,找了一篇文章看了一些,觉得不错,保留下来。假设我们定义了一个变量为:复制代码 代码如下:file=/dir1/dir2/dir3/my.file.txt可以用${ }分别替换得到不同的值:复制代码 代码如下:${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个 / 及其左边的字符串:my.file.txt${file#*.}...
Shell脚本配合iptables屏蔽来自某个国家的IP访问

Shell脚本配合iptables屏蔽来自某个国家的IP访问

星期六我们一位客户受到攻击,我们的网络监测显示有连续6小时的巨大异常流量,我们立即联系了客户,没有得到回应,我们修改和限制了客户的 VPS,使得个别 VPS 受攻击不会对整个服务器和其他 VPS 用户造成任何影响,我们一直保持这个 VPS 为开通状态(尽管一直受攻击),攻击又持续了24小时,星期天攻击仍在继续,我们忍无可忍,但是仍然无法联系到客户,我们向客户网站的另一负责人询问是否需要我们介入来帮助解决,这位负责人答应后我们立即投入到与 DDoS 的战斗中...
Shell、Perl、Python、PHP访问 MySQL 数据库代码实例

Shell、Perl、Python、PHP访问 MySQL 数据库代码实例

下午写了一个简单的 bash 脚本,用来测试程序,输入一个测试用例文件,输出没有通过测试的用例和结果,然后把结果保存到数据库里。如何在 bash 脚本里直接访问数据库呢?既然在 shell 里可以直接用 mysql 命令操作数据库,那么在 shell script 里也应该可以通过调用 mysql 来操作数据库。比如用下面的 bash shell 脚本查询数据库:Bash复制代码 代码如下:#!/bin/bashmysql -uvpsee -ppasswo...
Shell脚本计算字符串长度和判断字符串为空小技巧

Shell脚本计算字符串长度和判断字符串为空小技巧

一些需要注意的脚本问题计算字符串长度可用的三种方法: 复制代码 代码如下:echo “$str”|awk "{print length($0)}" expr length “$str” echo “$str”|wc -c 但是第三种得出的值会多1,可能是把结束符也计算在内了判断字符串为空的方法有三种:复制代码 代码如下:if [ "$str" = "" ] if [ x"$str" = x ] if [ -z "$str" ] 注意:都要代双引号,否则有些...
Shell脚本bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录

Shell脚本bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录

有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为你的脚本文件在windows下编辑过。windows下,每一行的结尾是 ,而在linux下文件的结尾是 ,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符 ,用cat -A urfile时你可以看到这个 字符被显示为^M,这时候只需要删除这个字符就可以了。可以使用命令sed -i "s/ $//" urfile 。有时候编写脚本时会出现类似标题列出的...
Shell脚本中的位置变量参数(特殊字符)实例讲解

Shell脚本中的位置变量参数(特殊字符)实例讲解

$# : 传递到脚本的参数个数$* : 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过 9个$$ : 脚本运行的当前进程 ID号$! : 后台运行的最后一个进程的进程 ID号$@ : 与$#相同,但是使用时加引号,并在引号中返回每个参数$- : 显示shell使用的当前选项,与 set命令功能相同$? : 显示最后命令的退出状态。 0表示没有错误,其他任何值表明有错误。复制代码 代码如下:#!/bin/sh#param.s...
shell脚本实现实时检测文件变更

shell脚本实现实时检测文件变更

使用python做web开发,现在流行使用uwsgi调用python程序,但是使用uwsgi一段时间发现有一个弊端,就是每次更改源代码后必须重启uwsgi才能生效,包括更改模板文件也是,我是个懒人,再经过一段时间反复的更改-重启后我终于忍受不了,决定写一个脚本来定时程序目录的文件改动,并及时自动重启uwsgi,来解放我的双手可以不用理会这些琐碎的重启工作. 用了点时间来编写了一个脚本用来判断是否更改,然后判断是否需要重启uwsgi.下面放出脚本内容:#!/...
<< 161 162 163 164 165 166 167 168 169 170 >>