我很难集中注意力解决这个小问题
\n基本上我使用这个 bash PS1 脚本,因为它有点酷:
\nPS1="\\n \\[\\033[0;34m\\]\xe2\x95\xad\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\\[\\033[0;31m\\]\xee\x82\xb2\\[\\033[0;37m\\]\\[\\033[41m\\] \\u \\[\\033[0m\\]\\[\\033[0;31m\\]\xee\x82\xb0\\[\\033[0;34m\\]\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\\[\\033[0;32m\\]\xee\x82\xb2\\[\\033[0;30m\\]\\[\\033[42m\\] \\w \\[\\033[0m\\]\\[\\033[0;32m\\]\xee\x82\xb0 \\n \\[\\033[0;34m\\]\xe2\x95\xb0\xef\x91\xa0 \\[\\033[1;36m\\]\\$ \\[\\033[0m\\]"\nRun Code Online (Sandbox Code Playgroud)\n看起来像这样:
\n\n我想要做的是在右侧打印时间戳,并用实线连接文本左侧的末尾和右侧的开头,例如:
\nPS1="\\n \\[\\033[0;34m\\]\xe2\x95\xad\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\\[\\033[0;31m\\]\xee\x82\xb2\\[\\033[0;37m\\]\\[\\033[41m\\] \\u \\[\\033[0m\\]\\[\\033[0;31m\\]\xee\x82\xb0\\[\\033[0;34m\\]\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\\[\\033[0;32m\\]\xee\x82\xb2\\[\\033[0;30m\\]\\[\\033[42m\\] \\w \\[\\033[0m\\]\\[\\033[0;32m\\]\xee\x82\xb0 \\n \\[\\033[0;34m\\]\xe2\x95\xb0\xef\x91\xa0 \\[\\033[1;36m\\]\\$ \\[\\033[0m\\]"\nRun Code Online (Sandbox Code Playgroud)\n我尝试这样做:
\n$(printf \'%*s\' $COLUMNS \'-\')\nRun Code Online (Sandbox Code Playgroud)\n但这显然只是创建了一条充满破折号的全新行。
\n我知道如何获取光标停止处的值,tput sc但我不明白如何在变量中使用它?然后打印这些行,在右侧留下大约 5 个字符作为时间。
这是我第一次尝试 bash 脚本,所以请原谅我的无知。
\n任何帮助表示赞赏
\n