`
izuoyan
  • 浏览: 8942160 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

bash 脚本学习笔记

阅读更多

通常在/etc目录下面有大量的脚本文件,随时可以参考、学习

1、搜索含有某个指令的脚本:find /etc 2>/dev/null | xargs grep 'awk ' 2>/dev/null

  • 说明:
  • find /etc 查找/etc 目录下的所有文件,并显示文件名
  • 2>/dev/null 把所有的错误信息,如权限错误,不能访问等等 重定向倒看不到的虚拟设备,只显示有用信息。(1代表“标准输出”,2代表“标准错误输出”)
  • | 把前一个命令的输出以管道的方式传给后面的命令
  • xargs 对输入的每一个参数,循环执行后面的命令
  • grep 'awk' 在指定文件中查找字符串,这里的输入文件时xargs命令传过来的,每次去一个find输出的文件名

2、正则替换sed:

  • sed -i 's/regExp1/replaceExp/g' file-i 代表直接替换文件中的内容 前面的s代表搜索替换,后面的g代表替换所有,三个 / 可以用任意字符替换,比如 sed 's@regExp1@replaceExp@g' file 或 sed 's#regExp1#replaceExp#g' file ,即使不要后面的g(只替换第一个找到的内容),最后一个特殊符号也不能省掉。
  • 在替换表达式中可以使用\1这样的特殊参数来替代前面正则表达式中匹配的部分内容,例如:sed -n 's/.*\(movie_Play.asp?Id=[0-9]\+\).*/http:\/\/www.kankan.com\/\1/p' 这里最后一个p把内容显示到屏幕上
  • 进行多次处理,以简化表达式:grep "Id=[0-9]\+.*img" movie_list.htm | sed -n 's/.*\(movie_Play.asp?Id=[0-9]\+\).*/http:\/\/www.kankan.com\/\1/p'
  • 还有awk cut 等命令可以完成相似的功能,参见/etc 下的相应代码 以及 info awk , info cut

3、bash 脚本中的 流程控制:

if [[ ! -d /var/run/nscd ]] ; then
mkdir -p /var/run/nscd
chmod 755 /var/run/nscd
fi

for entry in $entries ; do
echo $entry
done

case $entry in
nisplus*)
echo "case nisplus"
*)
echo "default"
;;
esac

注意case语句中倒数第二行的两个分号是必需的
4、查看命令的位置,察看文件的类型
  • which which 察看命令文件的位置,这个是一个单独的文件
  • type type 察看命令文件的位置,这个是bash内置命令
  • file /dev/null 察看文件的格式信息
分享到:
评论

相关推荐

    Bash_shell学习笔记

    Bash_shell学习笔记

    bash shell学习笔记

    bash快捷键、Linux有关网络配置的命令 一、创建shell脚本、重定向输入与输出、执行数学运算、退出脚本 二、shell脚本中的各种结构化命令的格式与用法(for、while、until、break等) 三、处理用户的输入:命令行参数...

    入门到熟练 高效 Bash Shell 学习笔记材料书籍 BashNotesForProfessionals

    一本特别实在的 Bash 笔记教程,学习效率很高。是一份不可多得的高效 Bash 学习材料。如果你想学习 Bash Shell、Bash 脚本编程,看它绝对没错。免费分享!不用积分,更不用付费! 或者从此处直接下载: ...

    Shell脚本学习笔记

    第1章 BashShell命令 6 1.1 Shell提示符 6 1.2 文件与目录Shell命令 7 1.2.1 更改目录命令(cd) 7 1.2.2 列表命令(ls) 7 1.2.3 操作文件命令 10 1.2.4 目录处理命令 14 1.2.5 查看文件内容命令 15 1.3 监控程序 20 ...

    shell脚本学习笔记–基础(1)

    shell脚本学习笔记–基础(1)简介脚本注释脚本解释器脚本执行脚本调试基本符号和命令含义 简介 学习Shell脚本之前,我们有必要先来认识认识什么叫Shell?谈到这个问题,我们首先来回忆一下计算机自底向上的体系,最...

    some-bash-scripts:一些bash脚本的集合

    它们很少是在学习bash脚本期间编写的基本材料。 一些bash脚本是必需的,但仍然是基本的东西,仅涉及一些内容。 所有脚本都在基于Ubuntu / Debian的发行版上进行了测试。 虽然基本功能不会受到影响,但您可能会得到...

    shell编程学习笔记

    shell脚本成分 开头和注释: shell脚本的开头,用来解释shell程序,包括:#!/bin/bash、#!/bin/csh、#!/bin/tcsh、#!/bin/pdksh,一般用#!/bin/bash。。 shell脚本中的注释,以#开头的...

    BASH 学习笔记小结

    1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序...

    bash获取当前路径示例

    您可能感兴趣的文章:bash shell命令行选项与修传入参数处理Bash Shell 注释多行的几种方法bash批量修改文件名称的方法小结(增加,去除,修改后缀)bash 编程中循环语句用法BASH 学习笔记小结Bash Shell字符串操作小...

    learnzh:bash脚本写得不好,旨在为学习汉语建筑汉语词汇提供一些帮助

    笔记: 这主要是为了保管。 我不希望有人对此感兴趣,... 这是一个可怕的,非标准的bash脚本,具有一些奇怪的要求。 它需要(并严重依赖)互联网连接。 它需要非标准工具,即: xmllint :xml / html内容jq :json xp

    bash-study:shell学习笔记

    BASH STUDY这个项目目的在于学习 bash.#说明由于初学shell,所以进程管理和系统级shell 没有记录。#历史2014.3,读了 《学习 bash》第二版。2014.3.14,建立目录框架2014.3.28,增加了 awk,windows bat, python 脚本。...

    coding:编程技术学习笔记 https

    笔耕不缀,持续学习 网站 2021 2020 2019 vdom 原理解析与简单实现 从酷炫的果冻菜单谈起 CSS3 filter 属性 使用 js 实现依次执行异步任务 ...python 学习笔记 Too young, too simple. Sometimes, naive.

    机器学习笔记

    第14天课程内容: 1、Linux内核编译(2):编译内核的步骤、重新编译 2、CentOS系统安装:创建工具、语法检查、安装过程如何获取kickstart文件 3、anaconda应用的工作过程、anaconda...5、bash脚本编程之while循环语句

    linux学习笔记(3)

    shell概述 脚本执行方式: 1、echo 输出命令 echo [选项] [输出内容] #选项:-e:支持反斜线控制的字符转换 ...或通过bash调用执行脚本:bash hello.sh bash的基本功能 一、命令别名与快捷键 1、查看与设定别名(临

    Linux shell 编程学习笔记

    这次难得有时间和条件来学习,所以做好笔记。 一:shell 能做什么  二:shell 脚本的几种执行方式,我们创建文件 start.sh,并且赋予 执行权限 chomd +x start.sh #然后可以通过以下命令执行 #相对路径,或者绝对...

    97 Things Every Programmer Should Know 等 24 本书

    AngularJS学习笔记(checkcheckzz).epub Everything curl.epub F# for Fun and Profit eBook.epub Gradle 实战.epub iOS的函数响应型编程.epub JVM必知必会.epub Kubernetes 指南.epub LeetBook(LeetCode详解)....

    linux开发笔记

    适用于linux开发学习,文本编辑器的使用;bash脚本的编辑;定时任务编写;

    shell学习笔记

    echo echo [选项] [输出内容] 选项: -e: 支持反斜线控制的字符转换 \\ 输出\本身 \a 输出警告音 \b 退格键,也就是向左删除键 .../bin/bash shell脚本开头 脚本的执行 1 首先要赋予脚本x权限,输入脚本的绝对路径

    dailylog:项目,脚本,笔记本,备份文件,研究日志并可以正常运行

    项目,脚本,笔记本,备份文件,研究日志和一般作品 2020年 Sep. 27 | | 爬行者将从TSE获取2020年候选人的照片 Aug. 26 | | 第15届Abraji新闻调查大会的Python研讨会 Jul. 18 | | 学习C Feb. 02 | | 学习R Jan. 26...

Global site tag (gtag.js) - Google Analytics