# 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

 
 
 

最新文章

  1. [转]oracle 实施方法论学习心得
  2. Android 仿QQ消息界面
  3. java多线程总结
  4. Gensim进阶教程:训练word2vec与doc2vec模型
  5. res\menu\main.xml:6: error: No resource identifier found for attribute 'showAsAction' in package 'com.xxx.xxxx'
  6. [LeetCode OJ] Word Search 深度优先搜索DFS
  7. sql update from 修改一个表的值来自另一个表
  8. (转) Dynamic memory
  9. hdu 2222 Keywords Search ac自动机模板
  10. JS实现静态html页面左侧导航,右侧连接页面
  11. Ubuntu apt-get和pip国内源更换
  12. iTOP-4418开发板Ubuntu系统烧写方法分享
  13. C# 线程间互相通信 AutoResetEvent和ManualResetEvent
  14. mysql执行 sql文件遇到USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=utf8错误
  15. [UE4]AIPerception,AI感知
  16. linux获取精准进程PID之pgrep命令
  17. 3类与对象——重拾Java
  18. javaScript年份下拉列表框内容为当前年份及前后50年
  19. day14(编码实战-用户登录注册)
  20. 0071 CentOS_Tomcat访问文件名包含中文的文件出现404错误

热门文章

  1. JavaScript设计模式-21.命令模式
  2. 浅谈内存映射I/O(MMIO)与端口映射I/O(PMIO)的区别
  3. 如果天空不死博客java阅读列表整理
  4. linux 安装jdk 二进制版本,非安装版
  5. 查询各分类中最大自增ID
  6. AngularJs ng-repeat重复项异常解决方案
  7. 字符编码unicode,utf-8和ascii
  8. 使用WrapPanel和DockPanel
  9. C# Winform程序CPU占用高的原因和解决方法
  10. 基于Github搭建SrpingCloudConfig详解