我对 bash 还很陌生,所以请原谅这个(极有可能的)菜鸟问题。
我正在编写一个脚本,输出一个高度为 x 的“金字塔”。我设法让代码正确,但 x 应该来自用于启动脚本的命令。因此,如果用户在控制台中输入 pyramide 5,这将启动脚本并为其提供 5 行。我习惯使用读取输入,但这对我来说是新的。
有人可以帮忙吗?
答案1
我能想到的最好的办法是:
#!/bin/bash
declare -i a=$1
eval "printf -vb xx%.s {0..$a}"
while ((a>c++)); do
printf '\033[%dC%s\n' $((a-c+1)) ${b::((2*c-1))}
done