Talk is cheap,show me the code!

{ job;/sbin/halt -p; }

关于shell脚本中提醒用法及参数输入

if [[ $# -ne 1 ]] then

echo -e "Usage:./$0 arguments-list"

exit 1

fi

把shell多行注释掉,有如下方法:

第一种:基于Here Documents和:实现

如果被注释的内容中有反引号会报错

  1. :<<BLOCK
  2. ....被注释的多行内容
  3. BLOCK

解决注释中有反引号的问题

  1. :<< 'BLOCK
  2. ....被注释的多行内容
  3. BLOCK'

或者干脆只留单引号

  1. :<< '
  2. ....被注释的多行内容
  3. '

第二种:当注释内容中有括号时报语法错误错,但里面有反引号,引号时没有问题

  1. :||{
  2. ....被注释的多行内容
  3. }

第三种:会对注释内容中的括号引号等语法错误报错

  1. if false ; then
  2. ....被注释的多行内容
  3. fi

---------------------------------- 华丽的分割线 -------------------------------------

here 文档与重定向输入

here 文档 为需要输入数据的程序(如 mail sor 或cat) 接收内置文本,
直至用户自定义的休止符。

$ cat << FINISH
> Hello there $LOGNAME
> The time is `data`
> If you want to know who is god, type "echo \$LOGNAME"
> FINISH

here 文档常被shell脚本用来生成 菜单 或 被用来 多行注释

用 here 文档 和 case 命令生成菜单

# file ./profile

echo "select a terminal type: "
cat << ENTER
    1)    vt 120
    2)    wyse50
    3)    sun
ENTER

read choice

case "$choice" in
1)    TERM=vt120
    export TERM
    ;;
2)    TERM=wyse50
    export TERM
    ;;
3)    TERM=sun
    export TERM
    ;;
esac

echo "TERM is $TERM"

chaep的更多相关文章

随机推荐

  1. IOS开发 ARC和非ARC下使用Block属性的问题

    1. Block的声明和线程安全 Block属性的声明,首先需要用copy修饰符,因为只有copy后的Block才会在堆中,栈中的Block的生命周期是和栈绑定的,可以参考之前的文章(iOS: 非AR ...

  2. c语言输出4*5的数列?

    1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20   输出上面的数列,用c实现的代码:<pre lang="c" line=&quo ...

  3. Luogu3387 缩点 【tarjan】【DP】

    Luogu3387 缩点 题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点, ...

  4. HDFS原理分析之HA机制:avatarnode原理

    一.问题描述 由于namenode 是HDFS的大脑,而这个大脑又是单点,如果大脑出现故障,则整个分布式存储系统就瘫痪了.HA(High Available)机制就是用来解决这样一个问题的.碰到这么个 ...

  5. [转]50个很棒的Python模块

    转自:http://www.cnblogs.com/foxhengxing/archive/2011/07/29/2120897.html Python具有强大的扩展能力,以下列出了50个很棒的Pyt ...

  6. 一步步用python制作游戏外挂【转】

    转自:http://www.cnblogs.com/xsmhero/archive/2013/01/03/2842973.html 玩过电脑游戏的同学对于外挂肯定不陌生,但是你在用外挂的时候有没有想过 ...

  7. modelsim仿真常用系统函数

    (1)$time 作用:返回所在模块的仿真时间,可以查看信号的出现的时间,用来把握信号的时序. 如:$display(''the time is %t'',$time) ;//显示当时的时间 (2)$ ...

  8. 第06篇 MEF部件的生命周期(PartCreationPolicy)

    一.演示概述 本演示介绍了MEF的生命周期管理,重点介绍了导出部件的三种创建策略,分别是:CreationPolicy.Any.CreationPolicy.Shared.CreationPolicy ...

  9. openresty 使用 log_by_lua 发送日志到 syslog-ng

    1. 安装   opm get p0pr0ck5/lua-resty-logger-socket   2. 使用    location   lua_by_lua_block    log_by_lu ...

  10. Android 编译系统的组成

    Android 和 Linux 的编译系统都是通过 Makefile 工具来组织编译源代码的. Makefile 工具用来解释和执行 Makefile 文件,在 Makefile 文件里定义好工程源代 ...