我正在制作一些命令行工具,当它运行到STDERR时输出进度信息,比如
found document
using cached version
analyzing
etc.
我应该输出带有大写首字母和句号的完整句子,还是这种简洁的非资本化输出?对此有何专家共识?
答案 0 :(得分:1)
我最喜欢的表示进步的方法是'旋转器'。这是我使用bash
实现的。第一个参数是要跟踪的进程的PID,第二个参数是可选消息。 PID最容易通过$(pgrep <some_process_name>)
#!/bin/bash
spinner() {
[[ -n "$2" ]] && echo -n "$2 "
if [[ ! $1 =~ ^[[:digit:]]+$ ]]; then
return
fi
while [[ -d /proc/$1 ]]; do
for c in '/' '-' '\' '|'; do
printf "%c\b" "$c"
sleep 0.1
done
done
printf " \n"
}
du /usr > /dev/null 2>&1 & # Example program to monitor
spinner $(pgrep du) "Optional Message Here"