1、I/O重定向符:<   >  》与管道   |

#! /bin/bash

echo -n "Enter your name!"    //输出

printf "the first program is  '%s  %s '\n"  hello word  //比echo移植性更好,必须\n 才能换行

tr -d '\r' < dos-file.txt   

tr -d '\r' < dos-file.txt > unix-file.txt   //删除dos-file.txt中回车符,将内容重新定向输入到unix-file.txt中

for f in dos-file*.txt
do
tr -d '\r' <$f >>big-unix-file.txt
done // 把dos-file.txt内容追加到big-unix-file.txt中 tr -d '\r' < dos-file.txt | sort > unix-file2.txt //将dos-file.txt中内容排序输出到unix-file2.txt中 exit #

重定向符号:<读取作为输入,>输出重定向;  》追加重定向

管道:|

2、用管道写脚本,传入参数。 .findUser.sh,添加执行权限

#! /bin/bash

who | grep $1 //grep后面接收一个参数

exit #

执行./findUser.sh  #@#ing 命令,结果如下:

3、执行跟踪

set -x将执行跟踪的功能打开,当前命令执行完才打开跟踪, set +x 将执行跟踪的功能关闭,当前命令之行结束才关闭跟踪。

#!  /bin/bash
set -x
echo 1st echo
set +x
echo 2end echo
exit #

执行完毕,控制台输出:

++ echo 1st echo

1st echo

++ set +x

2end echo

4、grep文本匹配命令

用法:显示匹配一个或者多个模式的文本行,时常作为pipeline的第一步,以便于对匹配的数据作进一步处理。

有各种参数,-i  -l   -f  等

下一篇文章专门写grep。

shell脚本学习指南-学习(2)的更多相关文章

  1. shell脚本学习指南-学习(1)

    1.先看下面这个命令: $who  | wc  -l  计算当前登陆的用户个数: $who   当前登陆的有哪些用户: pipeling(   |  )可以在两个程序之间建立管道,左侧的结果成为右侧的 ...

  2. linux shell 脚本攻略学习20--awk命令入门详解

    awk生于1977年,创始人有三个,分别为 Alfred Aho,Peter Weinberger, 和 Brian Kernighan,名称源于三个创始人的姓的首字母. 作用:处理文本文件. awk ...

  3. Linux Shell脚本攻略学习总结:一

    终端打印 终端打印的常用命令有两个:echo和print 首先,我先介绍echo 1.echo echo这个命令接受三种形式的参数,实例如下: echo "Hello World" ...

  4. linux shell脚本、命令学习

    1,echo "test" > test.txt    输出重定向到text.txt,文件不存在就创建 echo "test" >> test ...

  5. Shell 脚本实践指南

    代码风格规范 开头有"蛇棒" 所谓shebang其实就是在很多脚本的第一行出现的以#!开头的注释,他指明了当我们没有指定解释器的时候默认的解释器,一般可能是下面这样: #!/bin ...

  6. linux shell 脚本攻略学习3

    1.Bash中的READ命令 #读取n个字符存入变量 read -n number_of_chars variable_name 示例: amosli@amosli-pc:~$ read -n var ...

  7. linux shell 脚本攻略学习2

    1.关于文件描述符和重定向: 文件描述符是与一个打开的文件或数据流相关联的整数.文件描述符0.1以及2是系统预留的. 0——stdin(标准输入) 1——stdout(标准输出) 2——stderr( ...

  8. linux shell 脚本攻略学习19--sed命令详解

    sed(意为流编辑器,英语“stream editor”的缩写)是Unix/linux常见的命令行程序.sed用来把文档或字符串里面的文字经过一系列编辑命令转换为另一种格式输出,即文本替换.sed通常 ...

  9. Linux Shell 脚本攻略学习--四

    linux中(chattr)创建不可修改文件的方法 在常见的linux扩展文件系统中(如ext2.ext3.ext4等),可以将文件设置为不可修改(immutable).某些文件属性可帮助我们将文件设 ...

随机推荐

  1. L202

    Yuan Cao’s teenage years were hardly typical. By age 18, he had already graduated from high school, ...

  2. IE9(8)跨域(CORS)解决方案

    HTML5中 XMLHttpRequest Level 2 的推出.可以通过在返回的HTTP请求头中加入 Access-Control-Allow-Origin 的设置,让浏览器支持对不同域的AJAX ...

  3. tensorflow中 tf.train.slice_input_producer 和 tf.train.batch 函数

    tensorflow数据读取机制 tensorflow中为了充分利用GPU,减少GPU等待数据的空闲时间,使用了两个线程分别执行数据读入和数据计算. 具体来说就是使用一个线程源源不断的将硬盘中的图片数 ...

  4. (译)KVO的内部实现

    09年的一篇文章,比较深入地阐述了KVO的内部实现.   KVO是实现Cocoa Bindings的基础,它提供了一种方法,当某个属性改变时,相应的objects会被通知到.在其他语言中,这种观察者模 ...

  5. idyll 开源生成交互式web的标记语言试用

    说明 Idyll is an open-source markup language and toolkit for producing interactive web pages You give ...

  6. HDFS 和 YARN 的 HA 故障切换【转】

    来源:https://blog.csdn.net/u011414200/article/details/50336735 一 非 HDFS HA 集群转换成 HA 集群二 HDFS 的 HA 自动切换 ...

  7. visualvm 和jdk 对应版本下载地址列表

    http://visualvm.java.net/releases.html VisualVM Corresponding Java VisualVM VisualVM 1.3.7Released: ...

  8. 【解决Jira】Chrome提示Java插件因过期而遭到阻止(JIRA上传截屏截图)

    最近经常被这个问题所困扰:用Chrome访问JIRA上传截屏截图时,地址栏下面弹出通知,提示JAVA插件已过期.但是由于公司要求统一开发环境和设置,不能更新到最新版,就像这样: 结果网页上的Java就 ...

  9. hBuilder培训资源视频教程汇总

    DCloud对开发者的学习支持分3个层面:官方文档.三方专业培训.网友经验分享 DCloud的精力主要在做产品,配套的文档也会一直完善好.但专业的培训还不是DCloud能做好的,在HTML5中国产业联 ...

  10. X.509证书的编码及解析:程序解析以及winhex模板解析

    一.证书的整体结构:证书内容.签名算法.签名结果. 用ASN.1语法描述如下: Certificate::=SEQUENCE{ tbsCertificate TBSCertificate, signa ...