Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #16143
| Path | csiph.com!goblin1!goblin.stu.neva.ru!usenet.stanford.edu!not-for-mail |
|---|---|
| From | Ángel <angel@16bits.net> |
| Newsgroups | gnu.bash.bug |
| Subject | Re: [PATCH] Add active mark, face support; activate mark on paste |
| Date | Thu, 16 Apr 2020 02:41:47 +0200 |
| Lines | 43 |
| Approved | bug-bash@gnu.org |
| Message-ID | <mailman.364.1586997714.3066.bug-bash@gnu.org> (permalink) |
| References | <M4dFweU--3-2@tutanota.com> <875c423e-0420-78d2-af4b-dfb168432e2d@case.edu> <M4dz8wC--3-2@tutanota.com> <1586997707.1070.15.camel@16bits.net> |
| NNTP-Posting-Host | lists.gnu.org |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset="UTF-8" |
| Content-Transfer-Encoding | quoted-printable |
| X-Trace | usenet.stanford.edu 1586997715 12038 209.51.188.17 (16 Apr 2020 00:41:55 GMT) |
| X-Complaints-To | action@cs.stanford.edu |
| To | bug-bash@gnu.org |
| Envelope-to | bug-bash@gnu.org |
| In-Reply-To | <M4dz8wC--3-2@tutanota.com> |
| X-detected-operating-system | by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] |
| X-Received-From | 199.195.249.9 |
| X-BeenThere | bug-bash@gnu.org |
| X-Mailman-Version | 2.1.23 |
| Precedence | list |
| List-Id | Bug reports for the GNU Bourne Again SHell <bug-bash.gnu.org> |
| List-Unsubscribe | <https://lists.gnu.org/mailman/options/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=unsubscribe> |
| List-Archive | <https://lists.gnu.org/archive/html/bug-bash> |
| List-Post | <mailto:bug-bash@gnu.org> |
| List-Help | <mailto:bug-bash-request@gnu.org?subject=help> |
| List-Subscribe | <https://lists.gnu.org/mailman/listinfo/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=subscribe> |
| X-Mailman-Original-Message-ID | <1586997707.1070.15.camel@16bits.net> |
| X-Mailman-Original-References | <M4dFweU--3-2@tutanota.com> <875c423e-0420-78d2-af4b-dfb168432e2d@case.edu> <M4dz8wC--3-2@tutanota.com> |
| Xref | csiph.com gnu.bash.bug:16143 |
Show key headers only | View raw
On 2020-04-11 at 18:04 +0200, gentoo_eshoes wrote:
> $ echo ${PS1@A}
> declare -x PS1=$'\\\n-----------\\n\\\n\\[\\a\\]\\\n\\[\\e[1;37m\
> \e[42m\\]\\u@\\H\\[\\e[0m\\] \\\n\\[\\033[1;30m\\]$(date "+%Y/%m/%d %
> H:%M:%S")\\[\\033[0m\\] \\\n\\[\\e[0;37m\\]\\s\\V t:\\l j:\\j \\\nd:
> ${SHLVL} pp:${PPID} p:$$ ut`cat /proc/uptime | cut -f1 -d.`\\[\\e[0m\
> \]\\n\\\n\\[\\e[0;37m\\]!\\!\\[\\e[0m\\] \\\n\\[\\033[0;36m\\]\\#\\[\
> \033[0m\\] \\\n$(evalexitcode "${__earlyec[@]}" ) \\\n\\[\\e[0m\
> \]$(uname -r) $(uname -v)\n$(ps_lepath "\\w")\\[ \\033];\\w\\a\\]\n\
> \[\\e[1;32m\\]\\$\\[\\e[0m\\] \\\n'
That was an… 'interesting' prompt.
Note that there are several subprocesses that you could easily avoid:
$(date "+%Y/%m/%d %H:%M:%S") is equivalent to \D{%Y/%m/%d %H:%M:%S}
`cat /proc/uptime | cut -f1 -d.` this could be simplified to `cut -f1 -d. /proc/uptime`
it may be replaced with just builtins by `uptime=$(</proc/uptime); builtin echo ${uptime/.*}`
$(uname -r) $(uname -v) is equivalent to $(uname -r -v) I wonder why you need these fairly static values on every prompt line, though.
$(ps_lepath "\\w") is expanding \w which is actually summarizing $HOME
into a ~. So you end up calculating a lepath which is equivalent to
$PWD. In fact, you are then discarding the calculated var, and using
directly $PWD. So any call to ps_lepath is actually equivalent to printf
%q "$PWD"
Seems $PIPESTATUS does not change inside the $PS1 ($? does vary after
you launch those process substitutions), so you could just replace
evalexitcode "${__earlyec[@]}" with evalexitcode "${PIPESTATUS[@]}" and
get rid of the PROMPT_COMMAND, unless I'm missing some interaction.
Kind regards
Back to gnu.bash.bug | Previous | Next | Find similar
Re: [PATCH] Add active mark, face support; activate mark on paste Ángel <angel@16bits.net> - 2020-04-16 02:41 +0200
csiph-web