随笔分类 - bash
1
发表于 2020-05-31 23:04阅读次数:2114评论次数:0
摘要:前言 在Linux下编写shell脚本时,每次都要使用chmod +x 文件名的方式给文件赋予可执行权限,那有没有一种简单的方法,可以自动识别shell脚本并为其添加执行权限,经过网上搜索,发现可以配置vimrc来实现 步骤 [root@localhost chapter3]# vim ~/.vim
阅读全文 »
发表于 2017-07-12 12:02阅读次数:247评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 在改编这个脚本的时候,我的考虑点主要有以下: 1. 所传的参数是不是要排除非整数的情况? 非整数的情况第一次我用echo $i | sed '/s/^[0-9]*$/''/g' && echo
阅读全文 »
发表于 2017-07-11 00:11阅读次数:247评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 -a 和 -o一般与[ ]使用,如:[ "$exp1" -a "$exp2" ] && 和 || 一般与[[ ]] 使用,如:[[ condition1 && condition2 ]] 以上
阅读全文 »
发表于 2017-07-10 23:05阅读次数:325评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 脚本运行结果
阅读全文 »
发表于 2017-07-10 16:02阅读次数:218评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 换种形式 这个脚本是对标准输入的参数传入形式做一个判断,如果是直接输入的,那么echo STDIN,如果是通过管道的形式传入的参数,那么打印echo PIPE 这个脚本中/dev/fd/0换成
阅读全文 »
发表于 2017-07-10 15:01阅读次数:420评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 脚本运行结果
阅读全文 »
发表于 2017-07-04 17:21阅读次数:179评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 那么,什么是HERE Document呢? HERE Document用来定义块变量,它把两个HERE之间的内容(注意一定是内容,不是命令,如果是命令,会当作内容对待)交给命令来处理,其中HE
阅读全文 »
发表于 2017-07-04 16:11阅读次数:193评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 例1. 使用""可以防止单词分割,将变量看成一个整体,没有"",将以空格来分割变量 例2. #*与#@在""下的区别
阅读全文 »
发表于 2017-07-04 15:17阅读次数:204评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 : 在一个二元命令中提供一个占位符 例1. : ${username=`whoami`} #将命令的输出赋值给变量,注意":"与"$"之间有空格 echo $username #输出的是who
阅读全文 »
发表于 2017-07-02 19:26阅读次数:251评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 Example 4-7 使用shift 脚本运行结果 关于shift 1.shift命令用于对参数的左移,通常在不知道参数个数的情况下依次遍历每个参数进行相应处理。 2.示例1:依次读取输入的
阅读全文 »
发表于 2017-07-02 18:40阅读次数:299评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 Example 4-6. wh,whois域名查询 1.假设我们定义了一个变量为: file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值: ${
阅读全文 »
发表于 2017-06-28 21:07阅读次数:251评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 Example 3-4. 备份最后一天所有修改的文件 对于这个脚本,要注意以下几点: 1.archive=${1:-$BACKUPFILE} $1是传给脚本的第一个参数,这句是说,如果$1在脚
阅读全文 »
发表于 2017-06-27 20:37阅读次数:300评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 ABS书上的例子: 从一个目录移动整个目录树到另一个目录 这个脚本第一眼感觉比较别扭,因为我们一般压缩命令用tar -zcvf [压缩后文件名] [目录],解压命令tar -zxvf [解压文
阅读全文 »
发表于 2017-06-26 22:09阅读次数:185评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 Example 3-2.将一个代码块的结果保存到文件 对于未安装包,要想获得其信息,必须在rpm包所在的目录下。如果光盘/dev/sr0挂载在/mnt/cdrom,那么必须进到/mnt/cdr
阅读全文 »
发表于 2017-06-25 11:58阅读次数:215评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 ABS书上的例子: 代码块和I/O重定向 实践证明,当/etc/fstab文件最开始有空格或者注释的时候,打印出来的要么是空白,要么是一个#,ABS是这样提示的:Now, how do you
阅读全文 »
发表于 2017-06-24 14:12阅读次数:245评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 ABS书上的例子是这样的: 这个脚本有个问题: 1.filename是个变量,$filename缺乏传入值 2.-x是检测文件是否存在且具有可执行权限,如果存在且具有可执行权限,为真,但是el
阅读全文 »
发表于 2017-06-24 13:16阅读次数:394评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者杨春敏 黄毅 编写一个脚本,显示时间和日期,列出所有的登录用户,显示系统的更新时间。然后这个脚本会把这些内容保存在一个log file中 总结了一下,这里有几个要点: 1.如何查看时区 #date -R Tu
阅读全文 »
发表于 2017-06-22 21:25阅读次数:196评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 自删除脚本 “为什么我们写脚本开头要加#!/bin/bash ?因为#!(即sha-bang)告诉系统这个文件需要一个解释器,而/bin/bash就是这个文件的解释器,所以开头可以是pytho
阅读全文 »
发表于 2017-06-21 11:13阅读次数:217评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 1.$Number_of_expected_args:是这个脚本的期望参数的个数 2.$#是入参的数量(传入的位置参数变量的数量) 3.[ $# -ne $Number_of_expected
阅读全文 »
发表于 2017-06-20 21:23阅读次数:244评论次数:0
摘要:本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅 cleanup:一个增强和广义的删除logfile的脚本 #!/bin/bash #清除,版本3 LOG_DIR=/var/log ROOT_UID=0 #当UID为0的时候,用户才具有roo
阅读全文 »
1