⽤ vi 创建 shell 程序 exam1.sh。程序头应有⼏⾏以 # 开始的简单的程序功能说明⾏(需要设置 hashbang),其它主要语句前后都应有注释。 2. 通过检测变量 $# 的值判断命令⾏参数的个数是否正确,如正确则程序继续运⾏下去;否则提示⽤户该命令 的运⾏格式( Usage: exam1.sh filename ),并退出。 3. 设置变量 $INPUT ,并赋予任意⼀个⾮空的字符串: INPUT="x" 4. ⽤ echo 语句在屏幕上提示⽤户输⼊任意⼀⾏⽂本(空⾏表示整个输⼊结束)。 5. ⽤ while 建⽴⼀个⽆限循环,循环退出条件为 $INPUT 为空,循环体为⽤ read 语句读⼊⼀⾏到变量 $INPUT 中,⽤ echo 命令将该变量的内容追加( >> )到⽤户在命令⾏上指定的⽂件名中。 6. ⽤ cat 命令将该⽂件的内容显示在屏幕上。
时间: 2024-02-12 14:08:15 浏览: 159
hashbang.sh:hashbang.sh上面向公众的网站,带有嵌入式用户创建脚本
以下是您需要的shell程序exam1.sh的代码:
```
#!/bin/bash
# exam1.sh - A program to append user input to a file
# Check if the number of command line arguments is correct
if [ $# -ne 1 ]
then
echo "Usage: exam1.sh filename"
exit 1
fi
# Set the INPUT variable to a non-empty string
INPUT="x"
# Prompt the user to enter any text
echo "Enter any text (an empty line to finish):"
# Loop indefinitely until the user enters an empty line
while [ -n "$INPUT" ]
do
read INPUT
echo "$INPUT" >> $1
done
# Display the contents of the file
echo "The contents of $1 are:"
cat $1
```
程序头使用了hashbang(#!/bin/bash)来指定脚本的解释器为bash。程序头下的注释提供了简单的程序功能说明。在第5行,我们检查了命令行参数数量是否为1,如果不是则输出用法信息并退出。接下来,在第8行我们将变量$INPUT设置为一个非空字符串"x"。在第11行,我们使用echo命令提示用户输入任意一行文本。接下来,我们使用while循环来读取用户输入的每一行,并将其追加到指定的文件中。循环条件使用-n选项判断变量$INPUT是否为空。在最后几行,我们使用echo和cat命令分别将文件的内容输出到屏幕上。
阅读全文