编写一个 bash 脚本,该脚本将从用户那里读取 10 个整数并将输出附加到文件“XYZ”中。不允许在脚本中多次使用“read”语句。
#! /bin/bash
for i in {0,1,2,3,4,5,6,7,8,9}
do
read "i"
echo "0,1,2,3,4,5,6,7,8,9" >> XYZ
done
我是刚开始学这个的学生,感觉很难,你能给我一些建议吗?我认为这应该有很多问题。非常感谢你。
让我们看看你已经拥有什么。您的for
循环执行 10 次read
命令迭代,并且read
仅在脚本中出现一次。您还可以将输出附加 ( >>
) 到文件XYZ
中。
但是,您不应该将相同的变量用于循环计数器并读取输入。并且序列可以缩短为{0..9}
。
您仍然缺少的是检查用户输入是否实际上是整数的条件。而且您可能应该输出您读取的值,而不是 string "0,1,2,3,4,5,6,7,8,9"
。
在更一般的说明中,您可能会发现以下指南有助于学习bash
:
#!/bin/bash
echo 'Input 10 integers separated by commas:'
read line
nums=`echo -n "$line" | sed "s/,/ /g"`
for i in $nums; do
echo "$i" >> XYZ
done
如果您输入9,8,7,6,5,4,3,2,1,0
,这些数字将被附加到XYZ
文件中,每一个都在一个新行中。
将 10 个(或更少,或更多)整数读入一个数组,输出不超过前 10 个:
read -p '10 integers please: ' -a number
IFS=,
echo "${number[*]:0:10}" >> XYZ
输入:
1 2 3 4 5 6 7 8 9 0
输出,逗号分隔:
1,2,3,4,5,6,7,8,9,0