Perl 对我用途,仅是作为 Shell 脚本中的文本处理器:在较大的软件工程里,更多的是使用 C.go 等编译型语言. Perl 是一种历史比较悠久的动态编程语言,在各种类 Unix 系统中得到了应泛的应用,操作系统通常会自带 perl 解释器,因此,将它作为 sed.awk 等工具的增强型替代,是一种不错的选择. 本文记录了一些在 Shell 脚本中使用 perl 的小技巧,以作备忘. 一.如何在 perl 命令中使用 shell 变量? 在 shell 下将变量导出为环境变量,然后使用 p…
最近编程中用到sftp上传文件,且需要用crontab预设定时上传事件.而sftp不同于ftp,没有提供选项如 -i 可以将密码直接编码进程序.使用sftp指令,会自动请求用户输入密码. 总结一下可以避免sftp输入密码的三种方式: 1. lftp方式 LFTP是一款非常著名的字符界面的文件传输工具.支持FTP.HTTP.FISH.SFTP.HTTPS和FTPS协议. 例子:(本例为下载192.168.107.132服务器/home/huangmr下所有文件的例子) #!/bin/sh HOST…
条件语句 正确的写法: if [ $1 = "-f" ] #注意这里,前后方括号和中间的内容之间必须有空格! then commands fi 错误的写法: if [$1 == "-f"] #没有空格,且字符串的比较不是"=="而是"=" 变量的定义和使用 正确的写法: filename="filename" #定义变量 echo $filename #使用变量 错误的写法: filename = &quo…
例如: 假设变量var=http://www.baidu.com/111.png 1.#号截取(删左留右) echo ${var#*//} # 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http:// 2.##号截取(删左留右) echo ${var##*.} ##*.表示从左边开始删除最后一个.及其至左边的所有字符 即删除http://www.baidu.com/111. 3.%截取(删右留左) echo ${var%/*} %/* 表示从右边开始,删除第一…
安装脚本setup.sh #!/bin/sh # FULL fast install/upgrade script # See help message via `--help' # $Id$ # self check if ! test -d ./packages ; then echo "ERROR: you should run the script under its directory" echo "错误:您只能在脚本所在目录运行它" exit - fi…
centos  shell脚本编程2 if 判断  case判断   shell脚本中的循环  for   while   shell中的函数  break  continue  test 命令   第三十六节课 return用在函数中exit用在shell当中 直接退出整个脚本,整个子shell或当前shellbreak退出循环 上半节课 if 判断case判断shell脚本中的循环 下半节课 for whileshell中的函数breakcontinue 课程大纲(继续上节课的) 7. if…
centos   shell脚本编程1 正则  shell脚本结构  read命令  date命令的用法  shell中的逻辑判断  if 判断文件.目录属性  shell数组简单用法 $( ) 和${ } 和$(( )) 与  sh -n  sh -x  sh -v 第三十五节课 Shebang/Sha-bang在计算机科学中, Shebang (也称为Hashbang)是一个由井号和叹号构成的字符串行(#!), 其出现在文本文件的第一行的前两个字符. 在文件中存在Shebang的情况下, 类…
之前看的各种面试,貌似都有shell脚本编程,没了解之前感觉很复杂,现在了解了些,没想象中那么难. 逻辑主要是这样的 编写.sh的脚本文件,文件里面的代码,就是在命令行输入的可执行命令的加强版,所谓加强版就是有些支持参数或者变量. 比如1.sh 想实现安装httpd 最简洁的代码可以是 SOFT="$1" yum install SOFT -Y 在命令行中输入 1.sh httpd 即可自动安装httpd 今天是个入门,继续学习shell的各种环境变量 shell,其实linux下的命…
Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch test_$i.txt done 示例解释 第1行:指定脚本解释器,这里是用/bin/sh做解释器的 第2行:切换到当前用户的home目录 第3行:创建一个目录shell_tut 第4行:切换到shell_tut目录 第5行:循…
什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_tut for ((i=0; i<10; i++)); do touch test_$i.txt done 示例解释 第1行:指定脚本解释器,这里是用/bin/sh做解释器的 第2行:切换到当前用户的home目录 第3行:创建一个目录shell_tut 第4行:切换到shell_tut目录 第5行:循环条件,一共循环10次 第6行:创建一个test_1-10.txt文件 第7…