实验(七)Shell操作

2023-04-10 09:30:32 浏览数 (1)

1. 新建工作目录

目录命名为班级加姓名的格式,如 1banz3

参考代码:

代码语言:shell复制
mkdir 1banz3
# 切到 1banz3 目录:
cd 1banz3

2. 创建Shell脚本文件

代码语言:shell复制
touch SpecialParameter.sh

3. 编辑Shell脚本

代码语言:shell复制
vi SpecialParameter.sh

输入以下代码:

代码语言:shell复制
#! /bin/bash/
echo "脚本文件名称是: $0"
echo "本条命令的第一个参数是 : $1"
echo "本条命令的第二个参数是 : $2"
echo "本条命令的参数个数是 : $#"
echo "$* 表示将所有参数看作一个整体 : $*"
for var in "$*"
do
    echo "$var"
done
echo "$@ 表示将所有参数看作不同的部分 : $@"
for var in "$@"
do
    echo "$var"
done
echo "最后一个进程的ID是 : $$"
echo "上一条命令的结果状态是 : $?"

4. 运行Shell脚本

代码语言:shell复制
chmod  x SpecialParameter.sh
./SpecialParameter.sh a b c

如果执行失败,可以用bash命令来执行脚本:

代码语言:shell复制
bash SpecialParameter.sh a b c

参考运行结果

代码语言:text复制
脚本文件名称是: ./SpecialParameter.sh
本条命令的第一个参数是 : a
本条命令的第二个参数是 : b
本条命令的参数个数是 : 3
$* 表示将所有参数看做一个整体 : a b c
a b c
$@ 表示将所有参数不同的部分 : a b c
a
b
c
最后一个进程的ID是 : 1407
上一条命令的结果状态是 : 0

5. 新建变量替换脚本

代码语言:shell复制
touch ReplaceVar.sh
# 用vi编辑脚本文件
vi  ReplaceVar.sh

输入以下代码:

代码语言:shell复制
username=aaa
echo "now,username=$username"
a=${username:-`whoami`} #:-
echo "a=$a, username=$username"
b=${username: `whoami`} #: 
echo "b=$b, username=$username"
c=${username:=`whoami`} #:=
echo "c=$c, username=$username"
username=""
echo "now,username=$username"
a=${username:-`whoami`} #
echo "a=$a, username=$username"
username=""
b=${username: `whoami`} #
echo "b=$b, username=$username"
username=""
c=${username:=`whoami`} #
echo "c=$c, username=$username"
unset username #
echo "now,unset username, so username=$username"
a=${username:-`whoami`} #
echo "a=$a, username=$username"
unset username
b=${username: `whoami`} #
echo "b=$b, username=$username"
unset username
c=${username:=`whoami`} #
echo "c=$c, username=$username"

6. 运行变量替换脚本

代码语言:shell复制
bash ReplaceVar.sh

参考运行结果:

代码语言:txt复制
now,username=aaa
a=aaa, username=aaa
b=Administrator, username=aaa
c=aaa, username=aaa
now,username=
a=Administrator, username=
b=, username=
c=Administrator, username=Administrator
now,unset username, so username=
a=Administrator, username=
b=, username=
c=Administrator, username=Administrator

7.输入输出操作

新建 ReadAndEcho.sh 脚本文件:

代码语言:shell复制
touch ReadAndEcho.sh
# 用vi编辑脚本文件
vi ReadAndEcho.sh

输入以下代码:

代码语言:shell复制
#! /bin/bash
# The first part
read -p "输入一句英文语句:" first second third
echo "第一个参数是 $first"
echo "第二个参数是 $second"
echo "第三个参数是 $third"
# The second part
read -n 4 -t 20 -p "输入一个较长的单词:" word
echo -e "n$word"
# The third part
echo -e "thisnisnantest"
echo -e "thististattest"
echo -n "this is a test"
echo ",bye"
echo -e "this is a ctest"

执行脚本:

代码语言:shell复制
bash ReadAndEcho.sh

参考运行结果:

代码语言:text复制
输入一句英文语句:cat eat fish
第一个参数是 cat
第二个参数是 eat
第三个参数是 fish
输入一个较长的单词:mysq
mysq
this
is
a
test
this    is      a       test
this is a test,bye
this is a %

0 人点赞