# vi xx.sh

退出并保存

# chmod +x xx.sh

# ./xx.sh

-2.

调试脚本的方法

# bash -x xx.sh

就可以调试了

.

-1.

配置

secureCRT

的设置

(

我用的是

6.2.3 build313

版本

,

汉化版

)

选项

->

会话选项

(S)...->

终端

->

仿真

->

终端

(T)->

把

VT100

改成

Xterm->

点中

ANSI

颜色

(A)

和使用颜色方案

(U)

复选框

.

这样就有颜色显示了

.

选项

->

会话选项

(S)...->

终端

->

外观

->

字符编码

(H)->

从

Default

变到

UTF-8.

这样就有中文显示了

.

 

1.

写一个脚本

,

执行后

,

打印一行提示

"Please input a

number:",

要求用户输入数值

,

然后打印出该数值

,

然后再次要求用户输入数值

.

直到用户输入

"end"

停止

.

# vi show_var.sh

脚本内容

:

#!/bin/bash

unset var

while [ "$var" != "end" ]

do

echo -n "please input a number: "

read var

if [ "$var" = "end" ]

then

break

fi

echo "var is $var"

done

命令保存后退出

,

并执行

:

# chmod +x show_var.sh

# ./show_var.sh

please input a number: 1

var is 1

please input a number: s

var is s

please input a number: end

 

#

2.

写一个脚本

,

测试位置参数

# vi param.sh

脚本内容

:

#!/bin/bash

#test shell

echo $0

echo $1

echo $2

echo $?

echo $*

echo $#

命令保存后退出

,

并执行

:

# chmod +x param.sh

# ./param.sh yema Bhanv edu network

./param.sh //

程序名称

Yema //

第一个参数

Bhanv //

第二个参数

0 //

程序执行结果

yema Bhanv edu network //

传递参数所组成的字符串

4 //

参数个数

 

3.

写一个脚本

,

可以根据参数文件名

,

以正确的参数调用

tar

来解压缩

tar.gz

或

tar.bz2

文件

.

# vi tar_gz_bz2.sh

脚本内容

:

#!/bin/sh

case ${1##*.tar.} in

bz2)

tar jxvf $1

;;

gz)

tar zxvf $1

;;

*)

echo "wrong file type"

esac

命令保存后退出

,

并执行

:

# chmod +x tar_gz_bz2.sh

# ./tar_gz_bz2.sh

# touch "helloA" > a.txt //

写一个测试用的文件

# tar czvf a.tar.gz a.txt //

把

a.txt

压缩成

tar.gz

文件

# rm -rf a.txt //

删除

a.txt

来测试脚本

# ls a.*

a.tar.gz

# ./tar_gz_bz2.sh a.tar.gz

# ls a.*

a.tar.gz a.txt //

验证了正确性

# touch "helloB" > b.txt //

写一个测试用的文件

# tar cjvf b.tar.bz2 b.txt //

把

b.txt

压缩成

tar.bz2

文件

# rm -rf b.txt //

删除

b.txt

来测试脚本

# ls b.*

b.tar.bz2

# ./tar_gz_bz2.sh b.tar.bz2

# ls b.*

b.tar.bz2 b.txt //

验证了正确性

# rm -rf a.txt a.tar.gz //

删除测试用的文件

# rm -rf b.txt b.tar.bz2 //

删除测试用的文件

4.

小棍子显示

# vi showstick.sh

#!/bin/bash

i=0

while [ $i -lt 10 ]

do

for j in '-' '\\' '|' '/'

do

echo -ne "\033[1D$j"

usleep 50000

done

((i++))

done

保存

# chmod +x showstick.sh

# ./showstick.sh

看效果

.

5.

显示类似

wget

的进度

# vi showwget.sh

 
 
 

Shell脚本例子集合的更多相关文章

  1. Linux Shell 高级编程技巧4----几个常用的shell脚本例子

    4.几个常用的shell脚本例子    4.0.在写脚本(同样适用在编程的时候),最好写好完善的注释    4.1.kill_processes.sh(一个杀死进程的脚本) #!/bin/bash c ...

  2. Centos命令和Shell脚本问题集合

    1.cat 错误写法 cat >> somefile.txt << EOF something EOF 原因:EOF 之后一定要是 ENTER(回车) 不能是空格或者其他.EO ...

  3. shell脚本例子集锦(习题总结)

    练习一:写一个脚本 .设定变量FILE的值为/etc/passwd .依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么 形如:(提示:LINE=`wc -l /etc/passw ...

  4. shell脚本例子

    #!/bin/sh   str="####" echo $1 | grep $str 1>/dev/null if [ `echo $?` -eq 0 ] then   ec ...

  5. Linux Shell编程第1章——Shell脚本编程概述

    目录 Linux和Shell简介 Linux是一套可免费使用和自由传播的类UNIX操作系统.Shell是一种具备特殊功能的程序,它提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令,并把它送 ...

  6. Shell脚本之:for

    与其他编程语言类似,Shell支持for循环. for循环一般格式为: for 变量 in 列表 do command1 command2 ... commandN done 列表是一组值(数字.字符 ...

  7. shell脚本中执行sql的例子

    这个例子演示了如何在shell脚本中执行多个sql来操作数据库表. #! /bin/sh USER_HOME=/home/`whoami` . /etc/profile if [ -f ${USER_ ...

  8. shell脚本集合

    慢慢学习,慢慢记吧 第一个shell脚本,创建用户,默认密码用户名,使得用户第一次登陆强制修改密码的脚本 #/bin/bash #创建用户,指定初始密码用户名,第一次登陆后强制修改用户名 userad ...

  9. java调用shell脚本,并获得结果集的例子

    /** * 运行shell脚本 * @param shell 需要运行的shell脚本 */ public static void execShell(String shell){ try { Run ...

随机推荐

  1. exe4j安装及注册

    1 安装 1 下载 exe4j下载地址:http://www.ej-technologies.com/download/exe4j/files.php, 进入网址,选择需要的版本,点击下载就可以了. ...

  2. Jquery 在多个相同标签click的问题

    最近在做文章的删除动作,用Jquery来执行操作.但是实现时一开始总是只能对第一个起作用,其他的点击删除后没反应. 一开始的jquery代码是这样的, $('#articledelete').on(' ...

  3. 算法之经典排序-冒泡排序(bubble sort)

    冒泡排序 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成. 这个算法的名字由来是因为越大的元 ...

  4. java中string的replace和replace的区别

    乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,其实大不然,只是替换的用途不一样,简而言之,replace用新串序列替换 ...

  5. 为什么各大网站都纷纷用起了https?哪些网站需要https(SSL证书)

    其实最近我也在易维信网站的开发组内讨论应用全站https事宜. 其原因非常简单. 因为不断接到用户投诉说网站上出现影响浏览体验的大面积广告. 可是网站平常只针对未登录用户在顶栏和底栏打两小条广告.而且 ...

  6. 十七、ThreadPoolExecutor线程池

    一.简介 executor接口 executor接口在JDK的java.util.concurrent包下,它只有一个抽象方法: void execute(Runnable command); 这意味 ...

  7. 撩课-Python-每天5道面试题-第7天

    一. 函数的返回值的概念,语法以及注意事项? 场景 当我们通过某个函数, 处理好数据之后, 想要拿到处理的结果 语法 def 函数(): 函数体 return 数据 注意事项 3.1 return 后 ...

  8. 02-Http请求与响应全解

    什么是协议 约束双方规范的一个准则 什么是HTTP协议 HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议 所有的WWW文件都必须遵 ...

  9. log4php使用及配置

    log4php使用及配置 1.在项目中加入log4php包 2.log4php配置 在项目配置包中添加logger_config.xml配置文件: logger_config.xml配置文件添加代码如 ...

  10. aabb问题

    输出所有aabb型的完全平方数 这个问题主要是提供一个判断完全平方的思路,就是用floor函数 #include <iostream> #include <string> #i ...