编写Korn Shell脚本在终端上打印输出图案

Korn ShellUnix系统下兼容Bourne Shell一种脚本环境。功能强大,常用做Unix环境配置和作业批处理。本文旨在通过讲解一个简单的图形打印程序,来对Korn Shell做出简单的语法讲解。

 

根据输入行数的不同打印输出不同大小的特殊字符三角形的程序(outputStar)

 

read loop;

i=1;

set –A star “/*”;

while ((i < $loop))

do

star[$(($i+1))]=”/*”;

print ${star[*]}

i=$(($i+1))

done

 

执行结果:

$ outputStar

5

/* /*

/* /* /*

/* /* /* /*

/* /* /* /* /*

 

1、  read命令简介:

 

read [o] name

将用户通过终端输入的串输入变量name,如果用户输入的串中有IFS中定义的分隔符(例如空格),则分隔符前后分为两项存入名为name的数组中。

[o]可用选项有:-p(从Shell生成的子进程中读取输入行)

 –r(不把行尾的“/”视作行连接符)

 –s(保存输入)

 -un(从文件中读入)

注:选项中除-r外未经本文作者验证。

 

2、变量声明及引用:

 

i=1;         #声明名为i的变量并赋值为1,注:等号前后不能有空格

i=$(($i+1));   #对变量i的值进行重新计算,注:格式必须严格如此

 

3、数组用法:

 

$ set –A arrayName 12 “this” ‘A’;

$ echo ${arrayName[*]}

12 this A

 

数组arrayName不定大小,例子中数组大小为4arrayName[0]存放数组名,且在脚本中无法访问到,从arrayName[1]开始是用户输入的值,以IFS分隔符隔开,构成不同的数组项,未赋值的数组项被访问到则返回空值。

 

(待续)

你可能感兴趣的:(编写Korn Shell脚本在终端上打印输出图案)