编写一个Shell脚本,使用until循环读取用户输入的字符串,直到用户输入"exit"为止,并输出所有输入的字符串。
时间: 2024-03-20 17:43:54 浏览: 59
好的,以下是一个Shell脚本,可以读取用户输入的字符串,直到用户输入"exit"为止,并输出所有输入的字符串:
```bash
#!/bin/bash
echo "请输入字符串,输入 exit 退出:"
until [ "$input" = "exit" ]
do
read input
if [ "$input" != "exit" ]
then
echo "您输入的字符串为:$input"
fi
done
echo "已退出!"
```
在这个脚本中,我们使用 `until` 循环,每次读取用户输入的字符串并检查是否等于 "exit"。如果不等于 "exit",就输出用户输入的字符串。如果等于 "exit",就跳出循环并输出提示信息。
你可以将以上脚本保存为一个 `.sh` 文件,并使用 `chmod +x` 命令赋予执行权限,然后执行该文件即可输入字符串并查看输出结果。
相关问题
1. 编写一个Shell脚本,使用until循环打印从10倒数到1的数字。 2. 编写一个Shell脚本,使用until循环读取一个文件的内容,并输出每一行的内容。 3. 编写一个Shell脚本,使用until循环实现一个简单的倒计时器,每秒递减并输出当前倒计时。 4. 编写一个Shell脚本,使用until循环输出1000以内所有的水仙花数。 5. 编写一个Shell脚本,使用until循环读取用户输入的字符串,直到用户输入"exit"为止,并输出所有输入的字符串
1. 打印从10倒数到1的数字:
```bash
#!/bin/bash
num=10
until [ $num -lt 1 ]
do
echo $num
num=$[$num-1]
done
```
2. 读取一个文件的内容,并输出每一行的内容:
```bash
#!/bin/bash
until [ -z "$1" ]
do
while read line
do
echo $line
done < $1
shift
done
```
3. 实现一个简单的倒计时器,每秒递减并输出当前倒计时:
```bash
#!/bin/bash
seconds=10
until [ $seconds -lt 1 ]
do
echo $seconds
sleep 1
seconds=$[$seconds-1]
done
echo "倒计时结束!"
```
4. 输出1000以内所有的水仙花数:
```bash
#!/bin/bash
n=1
until [ $n -gt 1000 ]
do
sum=0
temp=$n
while [ $temp -gt 0 ]
do
r=$[$temp%10]
sum=$[$sum+$r*$r*$r]
temp=$[$temp/10]
done
if [ $sum -eq $n ]; then
echo $n
fi
n=$[$n+1]
done
```
5. 读取用户输入的字符串,直到用户输入"exit"为止,并输出所有输入的字符串:
```bash
#!/bin/bash
input=""
until [ "$input" = "exit" ]
do
read -p "请输入字符串(输入exit退出):" input
if [ "$input" != "exit" ]; then
echo $input
fi
done
```
阅读全文