编写shell脚本程序print。打印给定行数的*号。第一行打印一个。第二行打印两个,以此类推。系统提示“input a num:”,用户输入数字5。
时间: 2024-02-24 09:58:12 浏览: 18
好的,以下是print的Shell程序代码:
```
#!/bin/bash
echo -n "input a num: "
read num
for ((i=1;i<=num;i++)); do
for ((j=1;j<=i;j++)); do
echo -n "*"
done
echo ""
done
```
这个程序使用了一个for循环来打印星号。在内部循环中,我们使用echo命令输出星号,并在每一行结束时使用echo命令输出一个换行符。在程序的开头,我们通过read命令从用户那里获取输入数字。用户输入的数字用来控制星号的行数。在终端中执行以下命令将print文件设置为可执行文件:
```
chmod +x print
```
之后,我们可以在终端中执行以下命令来运行print程序:
```
./print
```
运行程序后,程序会提示用户输入数字。用户输入数字后,程序将输出相应行数的星号。例如,如果用户输入数字5,则程序将输出以下内容:
```
*
**
***
****
*****
```
相关问题
编写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
```
这将打印以下内容:
```
*
**
***
****
*****
```
编写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 命令输出打印结果。