1.编写Shell脚本,打印给定行数的*号,第一行打印一个,第二行打印4个,每行递增3个,行数由用户在命令行上输入。程序运行结果如下:。如图所示: * * * * * * * * * * * *
时间: 2023-07-01 12:20:26 浏览: 114
可以使用如下的Shell脚本实现:
```shell
#!/bin/bash
# 获取用户输入的行数
read -p "请输入行数:" num
# 初始化星号数量为1
stars=1
# 循环打印每一行的星号
for ((i=1; i<=num; i++))
do
# 打印stars个星号
for ((j=1; j<=stars; j++))
do
echo -n "* "
done
echo "" # 换行
# stars递增3
((stars+=3))
done
```
运行脚本后,根据提示输入需要打印的行数即可得到对应的输出。例如输入6,则输出结果为:
```
*
* * * *
* * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * *
```
相关问题
编写Shell脚本,打印给定行数的*号,第一行打印一个,第二行打印4个,每行递增3个,行数由用户在命令行上输入。
好的,下面是Shell脚本的代码:
```bash
#!/bin/bash
if [ $# -eq 0 ]; then
echo "请输入行数作为参数!"
exit 1
fi
for (( i=1; i<=$1; i++ ))
do
for (( j=1; j<=4+(i-1)*3; j++ ))
do
echo -n "*"
done
echo ""
done
```
这个脚本中,首先进行了参数判断,如果没有输入行数则会提示用户输入并退出脚本。然后使用两个 for 循环来控制行数和每行打印的 * 号数量,其中内层循环的打印次数会随着行数的递增而逐渐增加。最后使用 echo 命令输出打印结果。
编写shell脚本程序print。打印给定行数的*号。第一行打印一个。第二行打印两个,以此类推。
可以使用循环语句来实现这个任务。下面是一个简单的 shell 脚本程序:
```bash
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage: $0 <number of lines>"
exit 1
fi
for (( i = 1; i <= $1; i++ )); do
for (( j = 1; j <= i; j++ )); do
echo -n "*"
done
echo
done
```
在这个脚本中,我们检查了传递给脚本的参数数量是否正确。如果参数数量不为1,则打印使用方法并退出。否则,我们使用两个嵌套的循环来打印每一行的星号。外层循环从1到指定的行数,内层循环从1到当前行数。在内层循环中,我们使用 `echo -n` 命令来打印星号,而不是换行符。然后,在内层循环结束时,我们使用 `echo` 命令来打印一个换行符,以便开始下一行的打印。
要运行这个脚本程序,您可以将其保存到名为 `print` 的文件中,并使用以下命令来使其可执行:
```bash
chmod +x print
```
然后,您可以运行脚本并指定要打印的行数,例如:
```bash
./print 5
```
这将打印以下内容:
```
*
**
***
****
*****
```