在 bash 中,我想根据终端中的当前行是否为空来有条件地回显一个新行。
比如说,first.sh先运行,但我不控制它,也不知道它每次会打印什么。我可以让second.sh始终在全新的行上开始打印并且不要在其上方留下任何空白行吗?
第一个.sh
#!/bin/bash
let "n = 1"
max=$((RANDOM%3))
while [ "$n" -le "$max" ]
do
printf "%s" x
let "n += 1"
done
第二个.sh
#!/bin/bash
#if [ not_in_first_terminal_column ]
# echo
#fi
echo "Hola"
我想要以下输出之一
$ ./first.sh && ./second.sh
Hola
$ ./first.sh && ./second.sh
x
Hola
$ ./first.sh && ./second.sh
xx
Hola
但不是
$ ./first.sh && ./second.sh
Hola
$ ./first.sh && ./second.sh
xHola
$ ./first.sh && ./second.sh
xxHola
有可能做我想做的事吗?我想使用 ANSI 转义码,就像在这里一样,但我还没有找到办法。