shell中的连续打印命令

时间:2013-12-18 04:01:43

标签: shell sh

我最近一直在努力学习shell脚本,在我读过的任何教程中,我从未非常清楚的一件事是如何连接printf命令的整数和字符串。具体来说,我想知道如何使用它来显示终端(命令提示符)窗口中某个位置的字符。例如,在python中,当我不使用curses或pygame时,我会做类似的事情:

x = 40
y = 12
ship = "|-^-|"
print(("\n"*y)+(" "*x)+ship)

如果我接近这个的方式是shell的“正确”方式,那么我想要一些帮助,也许是一个很好的教程链接,可以解决我以后遇到的任何问题。但是,如果这不是我应该做的,那么我真的想解释为什么不做以及我应该做什么。非常感谢提前

2 个答案:

答案 0 :(得分:0)

使用两个参数调用此脚本。第一个是行数(x),第二个是列数(y):

#!/bin/sh
for x in $(seq $1)
do
    echo ""
done
for y in $(seq $2)
do
    printf " "
done
echo "|-^-|"

(由于此问题已标记为shellsh但未标记为bash,因此上述内容避免了基本原则。)

答案 1 :(得分:0)

在终端中进行光标寻址的正确方法是使用ncursestput命令是一个常见的工具。但是,手册页作为初学者的文档并不实用;但是看看例如http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x405.html

的介绍