var=ab
echo -n "$var"
输出: ab
var=abc
echo "$var"
输出: ababc
我想删除第一ab
和更换abc
我会怎么做呢?
问候,INTELINSIDE
var=ab
echo -n "$var"
输出: ab
var=abc
echo "$var"
输出: ababc
我想删除第一ab
和更换abc
我会怎么做呢?
问候,INTELINSIDE
也许你正在寻找的东西,如:
var=ab
echo -n "$var"
var=abc
echo -e "\r$var"
这不会真正删除任何东西,而仅仅是将光标移动到该行并覆盖的开始。 如果被写入文本太短,前面写的内容依然可见。 你可以写在旧的文本空间(很容易和便携式):
printf "\r%-${COLUMNS}s" "$var"
或者使用一些终端转义序列来删除旧的文本(不便携式):
echo -e "\r$var\033[K"
移动到行的开头,写新的文本,然后删除光标到行的末尾。 (这可能不工作,这取决于在终端上。)