实验3Shell编程

发布 2023-05-16 23:44:28 阅读 6278

班级:计本112姓名:邵绪宝。

学号:201106080226

三、实验操作。

1、通配符的使用。

1) 进入/etc目录并且将此处所有文件以列表显示。

cd /etc

ls2) 要求用带有通配符的ls命令来显示文件名,实现:

以conf结束。

以d 或d开始。

在文件名的第五个位置包括一个o

包含单词tab

以数字结尾。

不以数字结尾。

ls -d *conf

ls -d [dd]*

ls -d ??o*

ls -d *[tt][aa][bb]*

ls -d *[0-9]

ls -d *[0-9]

3) 如果你执行命令ls -d ?[y]*[e-f]将会发生什么情况?能与之匹配的最短文件名是什么?执行这些命令来验证你的答案。

$ ls -d ?[y]*[e-f]

2、重定向。

1) 使用cat命令和指令来创建一个包含几行文本名为junk的文件。

cat > junk

type some lines of information

cat junk

cat > junk

cat junk

2) 使用重定向junk文件中追加几行文本。然后查看junk文件的内容并且检查你刚刚所创建的文本是否都存在。

cat >>junk

type some lines of information

cat junk

cat >>junk

cat junk

3、管道。1) 统计你当前目录所有文件的数目。使用管道,而不是手动地统计所有文件。

2) ls > tempfile ; wc -l tempfile是否和你刚刚使用的管道功能相同?为什么或者为什么不?

3) 将多个用户文件联合为一个大文件。

cat file1 file2 file3 file4 > file5

4、shell变量。

1) 显示由你当前进程环境所定义的所有变量。并且显示出当前输出的所有变量。

ls | wc -l

2) 创建一个变量x并初始化值为10。检查这个变量的值。再次,显示当前进程环境的所有变量。

x=10echo $x

set | less

env | less

3) 创建一个subshell.查看变量x在subshell下的值是什么?

bash echo $x

bashecho $x

set | less

4) .将x设置为500并返回到父进程。当前x的值是什么?为什么?

x=500

exit echo $x

x=500exit

echo $x

5) 确保子进程继承了x。如下实现:

export x

env | less

bash echo $x

exitexport x

env | less

bashecho $x

exit5、建立下面的脚本,运行并分析输出结果,并给出**注释。

1) ex1

#!/bin/bash

#shell special character

echo "current directory is `pwd`"/输出当前工作目录。

echo "current directory is 'pwd'"

echo "home directory is $home"//输出当前用户。

echo "file*.?输出当前目录下以file开头的文件。

today=`date`

echo today is :$today//显示今天日期。

ls ex*

2) ex2

#!/bin/bash

#bash script programming

if test $# ==0 //测试。

thenls -l|grep '^d'

elsefor i

dols -l $i|grep '^d'

donefi

3) ex3

case $1 in

b) count=`grep ^b $2 | wc -l`

echo "the number of lines in $2 that start with b is $count.";

s) count=`grep ^s $2 | wc -l`

echo "the number of lines in $2 that start with s is $count.";

) echo "that option is not recognized.";

esac4) ex4

dir=$1;shift

if [ d $dir ]

thencd $dir

for name

doif [ f $name ]

thencat $name

echo "end of $/name"

elseecho "invalid file name:$/name"

fidone

elseecho "bad directory name:$dir"

fi6、编写脚本。

1) 编写shell 脚本,计算1-100 的和;

#!/bin/bash

j=0for ((i=1;i<=100;i++)do

j=$(i+$j))

doneecho $j

2) 编写shell 脚本,要求输入一个数字,然后计算出从1 到输入数字的和,要求,如果输入的数字小于1,则重新输入,直到输入正确的数字为止;

#! /bin/bash

i=0while [ i -lt 1 ];do

read -p "the number must be larger than 1:" i

donesum=0

for n in `seq 1 $i`;do

sum=$[sum+$n]

doneecho $sum

3) 编写shell 脚本,把/home目录下的所有目录拷贝到/tmp目录下;

#! /bin/bash

cd /root

for i in `ls`;do

if [ d $i ] then

cp -r $i /tmp/

fidone

实验3Matlab编程题

1 用while循环求1 100间整数的和。2 编写y函数,xx 1 y 2x 1 1 3x 11 x 10 计算出y 3 y 5 y 的值。3 某商场对顾客所购买的商品实行打折销售,标准如下 商品 用price来表示 price 200没有折扣。200 price 500 3 折扣。500 pri...

linux实验六shell变量

一 实验目的。1 熟悉shell变量。2 掌握shell变量的用法。3 掌握shell通配符的用法。4 掌握编写shell脚本程序使用和输出环境变量。二 复习的内容。1 shell的启动与退出。2 通配符。等。3 管道与重定向。4 命令的组合。5 命令的替换。command1 command2 ar...

实验四PLC应用编程实验

一 实验目的。用plc构成天塔之光控制系统和五相步进电机控制系统。二 实验内容。1 天塔之光控制系统。1 控制要求。l12 l11 l10 l8 l1 l1 l2 l9 l1 l5 l8 l1 l4 l7 l1 l3 l6 l1 l2 l3 l4 l5 l6 l7 l8 l9 l1 l2 l6 l1...