linux printf到指定的终端行
在yocto中,当我使用bibake创建一个配方时,与此配方相关的阶段将以多行打印,非常漂亮。 所以我想实现一个像这样的小例子linux printf到指定的终端行,linux,terminal,Linux,Terminal,在yocto中,当我使用bibake创建一个配方时,与此配方相关的阶段将以多行打印,非常漂亮。 所以我想实现一个像这样的小例子 获取当前光标的行 运行两个线程,一个在行+1处输出内容,另一个输出 第2行的某物 结果,我失败了。然后我运行了两个做同样事情的进程,再次失败 有人能给我一些建议吗? 我想要的是: ts:/home/test$ ./program1 &; ./program1 & program1's output..................... progra
ts:/home/test$ ./program1 &; ./program1 &
program1's output.....................
program2's output.....................
在Bash中:
#!/usr/bin/env bash
printf '\n\n'
echo -ne "\033[6n"
read -rs -d\[ _
read -rs -dR foo
cursor_pos=$(cut -d";" -f1 <<< "$foo")
upper_row=$((cursor_pos - 2))
lower_row=$((cursor_pos - 1))
echo -ne "\033[${upper_row};0H"
echo upper row
sleep 2
echo -ne "\033[${lower_row};0H"
echo lower low
sleep 2
echo -ne "\033[${upper_row};0H"
printf "\r\e[0K%s\n" "upper again"
sleep 2
echo -ne "\033[${lower_row};0H"
printf "\r\e[0K%s\n" "lower again"
#/usr/bin/env bash
printf'\n\n'
echo-ne“\033[6n”
read-rs-d\[_
read-rs-foo博士
光标位置=$(在Bash中剪切-d”;“-f1:
#!/usr/bin/env bash
printf '\n\n'
echo -ne "\033[6n"
read -rs -d\[ _
read -rs -dR foo
cursor_pos=$(cut -d";" -f1 <<< "$foo")
upper_row=$((cursor_pos - 2))
lower_row=$((cursor_pos - 1))
echo -ne "\033[${upper_row};0H"
echo upper row
sleep 2
echo -ne "\033[${lower_row};0H"
echo lower low
sleep 2
echo -ne "\033[${upper_row};0H"
printf "\r\e[0K%s\n" "upper again"
sleep 2
echo -ne "\033[${lower_row};0H"
printf "\r\e[0K%s\n" "lower again"
!/usr/bin/env bash
printf'\n\n'
echo-ne“\033[6n”
read-rs-d\[_
read-rs-foo博士
cursor_pos=$(cut-d”;“-f1您的解决方案会一个接一个地输出,而不是并发的:(在我尝试之后)您的解决方案会一个接一个地输出,而不是并发的:(在我尝试之后)