实验四(4) SHELL实验(笔记)

本文记录了一次SHELL编程实验,涵盖了输入输出、变量、函数、结构等多种实现,包括基础训练如变量、循环语句,以及文件操作、用户和组操作等。此外,还介绍了Linux shell图形界面dialog工具的使用,包括各种对话框控件及其选项和命令示例。
摘要由CSDN通过智能技术生成

实验四(4) SHELL实验(笔记)

实验目的:
掌握SHELL编程的基本步骤和方法,了解SHELL中常用符号,函数,程序结构和输入输出的实现方法和使用要点。

实验内容:
SHELL中的输入输出,变量,函数,结构等多种实现

操作:
a)安装WINSCP
b)连接LINUX,在右边空白处点右键,新建文件,如下图:
在这里插入图片描述在这里插入图片描述在这里插入图片描述
c)(上述代码输入或者使用cat>t1,回车,然后敲入代码内容,并按CTRL+D退出。)
d)【root@localhost ~】#chmod +x t1
e)【root@localhost ~】#./t1
f)下同。
(一)基础训练
简单变量
程序代码:

#!/bin/bash
#filename:myprogram
x="hello world."
echo $x
y="my first shell program."
echo $y
exit

函数
程序代码:

#func  is  a  function  name

# it  echos  the  values  of  variables  and  arguments
func( )
{   echo  "Let's begin now. "
    echo  $a  $b  $c
    echo  $1  $2  $3
    echo  "The end. "
}
a=" Working directory "  
b="is"
c=`pwd`
func  Welcome  You  Byby
echo  "Today  is  ` date ` "

关键字let的使用
程序代码:

#!/bin/bash
x=2006
let "x = $x + 1"
echo $x
x="a string."
echo $x

测试case语句
程序代码:

number=$1
case $number   in
1)echo Mon;;
2)echo Tue;;
3)echo Wed;;
4)echo Thu;;
5)echo Fri;;
6)echo Sat;;
7)echo Sun;;
*)echo "wrong";;
esac

位置变量
程序代码:

set  `pwd;ls /root/shtest/canshu;date`
echo  $1  $2  $3  $9  ${10}  ${11}

字符串比较
程序代码:

test 'long' = 'long';echo $?
test 'long' = 'short' ;echo $?

数字比较
程序代码:

x1="005"
test "$x1" = 5
echo $?
b="005"
test "$b" -eq 5
echo $?

循环语句for
程序代码:

for i in 1 2 3 4 5 6 7
do
echo $i
done

循环语句for
程序代码:

#!/bin/bash 
for day in Sun Mon Tue Wed Thu Fri Sat
do
echo $day
done

循环语句for多文件内容显示
程序代码:

#!/bin/bash
# Filename : catmore
for i ; do
cat $i
done

循环语句for列出某文件夹文件名
程序代码:

#!/bin/bash
# Filename : listbin
for i in /bin/* ; do
echo $i
done

循环语句 while
程序代码:

i=1
while test  "$i" -le 9
do
s=`expr  $i \* $i \* $i `
echo "$i  $s"
i=`expr $i + 1`
done

循环语句 while
程序代码:

while  [ $1 ]
do
 if  [  -f  $1  ]
   then  echo  "显示文件 : $1 "
        cat  $1
   else  echo  "$1  不是正确的文件名. "
   fi
   shift
done

循环语句until
程序代码:

i=1
until test "$i" -gt 9
do
s=`expr  $i  \*  $i`
echo "$i  $s"
i=`expr $i  +  1`
done

数值和字符操作
求1+2+3+…+100的和
程序代码:

#!/bin/bash
SUM=0
I=0
while [ $I -le 100 ]
do
    SUM=$((SUM+I))
    I=$((I+1))
done
echo "由1+2+3+...+100的和是:$SUM"

数值和字符操作
完成一个程序,用户输入百分制的分数,之后返回“A”“B”“C”“D”“E”的等级。其中,A等级为90至100分,B等级为80至89分,C等级为70至79分,D等级为60至69分,E等级为0至59分。
程序代码:

needquit=0 
while [ $needquit -eq 0 ] 
do 
	echo "Please input the score" 
	read score 
	case $score in 
		100|9[0-9]) echo "Very Good";; 
		8[0-9]) echo "Good";; 
		7[0-9]) echo "Middle";; 
		6[0-9]) echo "Pass";; 
	 	[1-5][0-9]) echo "Failure";; 
		quit|q) echo "Quit" 
			    needquit=1;; 
		*) echo "Wrong Input!";; 
	esac 
	echo ""
done

数值和字符操作
运行时显示下列格式的图形:

*
* *
* * *
* * * *
* * * * *

程序代码:
在这里插入图片描述
文件操作

把当前目录下文件扩展名为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值