我最近一直在努力学习shell脚本,在我读过的任何教程中,我从未非常清楚的一件事是如何连接printf
命令的整数和字符串。具体来说,我想知道如何使用它来显示终端(命令提示符)窗口中某个位置的字符。例如,在python中,当我不使用curses或pygame时,我会做类似的事情:
x = 40
y = 12
ship = "|-^-|"
print(("\n"*y)+(" "*x)+ship)
如果我接近这个的方式是shell的“正确”方式,那么我想要一些帮助,也许是一个很好的教程链接,可以解决我以后遇到的任何问题。但是,如果这不是我应该做的,那么我真的想解释为什么不做以及我应该做什么。非常感谢提前
答案 0 :(得分:0)
使用两个参数调用此脚本。第一个是行数(x),第二个是列数(y):
#!/bin/sh
for x in $(seq $1)
do
echo ""
done
for y in $(seq $2)
do
printf " "
done
echo "|-^-|"
(由于此问题已标记为shell
和sh
但未标记为bash
,因此上述内容避免了基本原则。)
答案 1 :(得分:0)
在终端中进行光标寻址的正确方法是使用ncurses。 tput
命令是一个常见的工具。但是,手册页作为初学者的文档并不实用;但是看看例如http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x405.html