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. Mini Stirling engine

    So I spent 5 or 6 hours last night trying to hook up a mini Stirling engine with the gearbox of a Ta ...

  2. Sprint Boot 学习Q&A

    [ERROR] Failed to execute goal pl.project13.maven:git-commit-id-plugin:2.1.11:revision (default) on ...

  3. 使用LinkedBlockingQueue来实现生产者消费者的例子

    工作中,经常有将文件中的数据导入数据库的表中,或者将数据库表中的记录保存到文件中.为了提高程序的处理速度,可以设置读线程和写线程,这些线程通过消息队列进行数据交互.本例就是使用了LinkedBlock ...

  4. 每天一个linux命令(目录文件操作):【转载】linux文件属性详解

    Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下: 命令:  ls -lih 输出: [root@loc ...

  5. 接口测试基础——第6篇unittest模块(二)

    通过上次的运行,大家应该已经发现了,就是我们写了三个用例,那么在测试报告中setUp和tearDown方法分别运行了三次.没错,这也就是说,每次运行用例之前都会运行setUp和tearDown方法.今 ...

  6. .Net Remoting和Web Service大比拼

    随着.NET的推出,微软引入了一套新的通讯技术:Web Services和.NET remoting..NET remoting和ASP.NET Web Services可以为建立分布式的应用提供强有 ...

  7. linux的mysql

    mysql https://www.cnblogs.com/cnblogsfans/archive/2009/09/21/1570942.html https://blog.csdn.net/Smal ...

  8. Fiddler+Firefox

    配置置代理了,发现还是不好用!无法抓包: 配置就是在firefox的“选项”,拉到最下面,就能够看到“网络代理”,点进去:手动代理里面输入Fiddler的代理信息(默认127.0.0.1:8888) ...

  9. Android 操作文件系统失败: Read-only file system

    现象: $ adb push /d/Aaron/Desktop/libreference-ril-LS.so system/lib failed to copy 'D:/Aaron/Desktop/l ...

  10. Java并发-Runnable、Callable、Future、Future Task

    Runnable: Runnable的代码非常简单,他是一个接口,且接口中只有一个方法,run(),创建一个类实现他,把一些费时操作写在其中,然后使用某个线程去执行该Runnable实现类即可实现多线 ...