From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,NICE_REPLY_A autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 7980 invoked from network); 24 Dec 2021 17:27:13 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 24 Dec 2021 17:27:13 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 650E59CECE; Sat, 25 Dec 2021 03:27:12 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id EA2E39CC17; Sat, 25 Dec 2021 03:27:02 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (1024-bit key; secure) header.d=tnetconsulting.net header.i=@tnetconsulting.net header.b="uMz8zAVN"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id D2F609CC17; Sat, 25 Dec 2021 03:27:00 +1000 (AEST) X-Greylist: delayed 605 seconds by postgrey-1.36 at minnie.tuhs.org; Sat, 25 Dec 2021 03:26:59 AEST Received: from tncsrv06.tnetconsulting.net (tncsrv06.tnetconsulting.net [45.33.28.24]) by minnie.tuhs.org (Postfix) with ESMTPS id D5CA59CC01 for ; Sat, 25 Dec 2021 03:26:59 +1000 (AEST) Received: from Contact-TNet-Consulting-Abuse-for-assistance by tncsrv06.tnetconsulting.net (8.15.2/8.15.2/Debian-3) with ESMTPSA id 1BOHGroV009204 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Fri, 24 Dec 2021 11:16:53 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tnetconsulting.net; s=2019; t=1640366213; bh=QmelrAG/YRASSmoI9oxfhPyG+0UzPKJBWjgbZom4ph0=; h=Subject:To:References:From:Message-ID:Date:User-Agent: MIME-Version:In-Reply-To:Content-Type:Cc:Content-Disposition: Content-Language:Content-Transfer-Encoding:Content-Type:Date:From: In-Reply-To:Message-ID:MIME-Version:References:Reply-To: Resent-Date:Resent-From:Resent-To:Resent-Cc:Sender:Subject:To: User-Agent; b=uMz8zAVNHchwa9p1YeowdhNlOp/WAzzLo/y7Cl4l2B7BgWfLYiIS5z7AWjtYAZIuA JdMeMd0Ix3HV5VR5W6FL0zgWnLkhqR6le6BjfOulsifAnJx2AKPL6Y2s/KseVtD3Ua aNX5QI8hgSYml2JAlBNophOMN4y67x+gR077WUog= To: coff@minnie.tuhs.org References: Organization: TNet Consulting Message-ID: Date: Fri, 24 Dec 2021 10:17:07 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: Subject: Re: [COFF] What is your prompt? X-BeenThere: coff@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Computer Old Farts Forum List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Grant Taylor via COFF Reply-To: Grant Taylor Content-Type: multipart/mixed; boundary="===============7365308637489258359==" Errors-To: coff-bounces@minnie.tuhs.org Sender: "COFF" This is a cryptographically signed message in MIME format. --===============7365308637489258359== Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms060100030506010008020903" This is a cryptographically signed message in MIME format. --------------ms060100030506010008020903 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 12/22/21 11:59 PM, Andy Kosela wrote: > What is your prompt? Pre-Script: Seeing as how this is COFF and it's supposed to be a slow=20 day at work (holding down the fort while others celebrate) I'll chime=20 in. What follows is what the type of thing that I'd be interested in=20 reading from others. I've been a *LONG* *TIME* advocate for having at the very minimum 1) the = (current) username and 2) the hostname in the prompt. This became=20 exceedingly apparent at my last job with a bunch of junior admins, too=20 many of which (read: > 0), inadvertently issued commands as the wrong=20 user and / or on the wrong host. I personally like having the current working directory in the prompt. After some other incidents at my previous job, I started advocating for=20 having the leading character in the prompt be a "#" so that most shells=20 would not interpret it as a command pasted with trailing carriage return.= This brings me to the quintessential Bash / Zsh PS1 prompt of: PS1=3D"#[\u@\h:\w]\$ " The square brackets are effectively eye candy. The \$ evaluates to=20 indication of if you're running as a normal user or root. It's largely=20 superfluous with \u in the prompt. But it makes things uniform and=20 reduces questions when others are learning things. When I migrated to Zsh, my prompt got a bit more complex. The base=20 prompt in a new terminal window still looks mostly the same as the above = PS1. The biggest difference is that I use Zsh's RPROMPT for transient=20 things like the previous commands return code ($?) and date & time (the=20 prompt was printed). The RPROMPT has the nice feature of it leaves the=20 screen when when the current command is executed, thus it doesn't=20 clutter screen scroll back. I'm leveraging Zsh's conditional prompt features to make the return code = ($?) stand out in bright white on bright red when $? !=3D 0. My shell initialization files conditionally set various environment=20 variables which are used in the prompt. Conditionally on things like: - the TERM type - my terminal emulator's answer back - used for terminal specific featu= res - shell level - if the shell is forked from inside of screen / tmux - if the shell is forked from inside of vim Depending on the TERM type and my terminal's answer back I'll either=20 include control sequences to set the window title to (simplified version = of) the PS1 prompt. This way I have a good idea from the window title=20 when selecting minimized windows from lists, where the terminal therein i= s. I'm leveraging Zsh's preexec() function to conditionally set the window=20 title to the command that's being executed if answer back indicates a=20 supported terminal emulator. I'm comparing the host name to the value of answer back to set the=20 prompt color as a simple indicator if I'm on my local system or not. - Green =3D terminal to local system - Yellow =3D terminal to a non-local system - Red =3D terminal as root window somewhere, BE CAREFUL So ... my Zsh prompt has a fair bit behind it. But the bulk of what's=20 printed is still the comment character, the username, the hostname, the=20 current working directory, and the (non)root indicator. One deviation is that I now have my root prompt (via sudo / su) slightly = different in that after the effective user name, root, the prompt also=20 includes my real user name in parenthesis. #[root(gtaylor)@host:~]# As I do more with containers, I'm getting ready to implement a similar=20 permutation on the host portion such that the host name portion reflects = the container's / network namespace's value of \h with parent host OS's=20 name in side of parenthesis, much like the effective / logged in user pai= r. #[root(gtaylor)@netns(host):~]# Post-Script: Happy holidays. Here's hoping that things are going well=20 for you and yours. --=20 Grant. . . . unix || die --------------ms060100030506010008020903 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC CzowggUiMIIECqADAgECAhEAn5X6cf7kRk2GDx9LLhnqAzANBgkqhkiG9w0BAQsFADCBljEL MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2Fs Zm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBD bGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTAeFw0yMTExMTUwMDAw MDBaFw0yMjExMTUyMzU5NTlaMCsxKTAnBgkqhkiG9w0BCQEWGmd0YXlsb3JAdG5ldGNvbnN1 bHRpbmcubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzOnBjTJUlBTzN81c PlYErJc9kEbTI/hXq0NA6ZoG4VM6puYTEXtITANjgX+NRwwHjldESnC8dvh6Mx5ckEk9sWoD l8Yr/dWhF3s4fGxAX5ziOeuBI/yX7rKJn6DOwclV3C6dyt3zrLB6LOiF4gA+lk/o3EbOwoPh pW2MqAywy18OIvzfmEXKdya8E/uIP4v/8AHmtakxHfmZ33Krbwh2oia69esRKc7q2i3Jh+ar Tf3PuZJETd86Sb0Lz1+3zAXcYko2/3G9O9AwtUSDvkx5IUKieG8R4a8HLwuUTBNIsJ0qOdmv 4hUjc3IsP0jN+xebTE4w7PheolE/OStiFshpKQIDAQABo4IB0zCCAc8wHwYDVR0jBBgwFoAU CcDy/AvalNtf/ivfqJlCz8ngrQAwHQYDVR0OBBYEFPUkNRFsHVlNMgaz3G4kfNa8DU4VMA4G A1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEF BQcDAjBABgNVHSAEOTA3MDUGDCsGAQQBsjEBAgEBATAlMCMGCCsGAQUFBwIBFhdodHRwczov L3NlY3RpZ28uY29tL0NQUzBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLnNlY3RpZ28u Y29tL1NlY3RpZ29SU0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWlsQ0EuY3Js MIGKBggrBgEFBQcBAQR+MHwwVQYIKwYBBQUHMAKGSWh0dHA6Ly9jcnQuc2VjdGlnby5jb20v U2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcnQwIwYI KwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMCUGA1UdEQQeMByBGmd0YXlsb3JA dG5ldGNvbnN1bHRpbmcubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQB65EAjbqFApDikmHsLmOMk yj7wi/Byggy8NpXeQjgQOIIIHLY8PZvVxgrmzIJLshfgJQcq6Pp7hzHRrk3v08L7Eq+Q/pOE b6/6K/wSu13YUFTD6gSRjUr4SdPt00EMhF+uodaGriJyDmM96EHYhoZVZWZ026wApOjw6HMY LWBAZlAKhjfAgxhcVbi7ClWi3gkr5u5pp6Z7td4tlffs1KY3V82Q0rf8fctfHpoCT3Ahf2lo ID9Wo4NSMoa6igYek19H4snA7mJLMgx4EAD5F6Q95bpdMEK5+rTJDlghyhyhjBWEcEY56OUg ocTy+o+jyZOdKtF1CnwNhkcC+CY6rQKdMIIGEDCCA/igAwIBAgIQTZQsENQ74JQJxYEtOisG TzANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkx FDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx LjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBM aW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5k IFNlY3VyZSBFbWFpbCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMo87ZQK Qf/e+Ua56NY75tqSvysQTqoavIK9viYcKSoq0s2cUIE/bZQu85eoZ9X140qOTKl1HyLTJbaz Gl6nBEibivHbSuejQkq6uIgymiqvTcTlxZql19szfBxxo0Nm9l79L9S+TZNTEDygNfcXlkHK RhBhVFHdJDfqB6Mfi/Wlda43zYgo92yZOpCWjj2mz4tudN55/yE1+XvFnz5xsOFbme/SoY9W Aa39uJORHtbC0x7C7aYivToxuIkEQXaumf05Vcf4RgHs+Yd+mwSTManRy6XcCFJE6k/LHt3n dD3sA3If/JBz6OX2ZebtQdHnKav7Azf+bAhudg7PkFOTuRMCAwEAAaOCAWQwggFgMB8GA1Ud IwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBQJwPL8C9qU21/+K9+omULP yeCtADAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggr BgEFBQcDAgYIKwYBBQUHAwQwEQYDVR0gBAowCDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGG P2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0 aG9yaXR5LmNybDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNl cnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0 cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAQUR1AKs5whX13o6V bTJxaIwA3RfXehwQOJDI47G9FzGR87bjgrShfsbMIYdhqpFuSUKzPM1ZVPgNlT+9istp5UQN RsJiD4KLu+E2f102qxxvM3TEoGg65FWM89YN5yFTvSB5PelcLGnCLwRfCX6iLPvGlh9j30lK zcT+mLO1NLGWMeK1w+vnKhav2VuQVHwpTf64ZNnXUF8p+5JJpGtkUG/XfdJ5jR3YCq8H0OPZ kNoVkDQ5CSSF8Co2AOlVEf32VBXglIrHQ3v9AAS0yPo4Xl1FdXqGFe5TcDQSqXh3TbjugGnG +d9yZX3lB8bwc/Tn2FlIl7tPbDAL4jNdUNA7jGee+tAnTtlZ6bFz+CsWmCIb6j6lDFqkXVsp +3KyLTZGXq6F2nnBtN4t5jO3ZIj2gpIKHAYNBAWLG2Q2fG7Bt2tPC8BLC9WIM90gbMhAmtMG quITn/2fORdsNmaV3z/sPKuIn8DvdEhmWVfh0fyYeqxGlTw0RfwhBlakdYYrkDmdWC+XszE1 9GUi8K8plBNKcIvyg2omAdebrMIHiAHAOiczxX/aS5ABRVrNUDcjfvp4hYbDOO6qHcfzy/uY 0fO5ssebmHQREJJA3PpSgdVnLernF6pthJrGkNDPeUI05svqw1o5A2HcNzLOpklhNwZ+4uWY LcAi14ACHuVvJsmzNicxggQ1MIIEMQIBATCBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgT EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGln byBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24g YW5kIFNlY3VyZSBFbWFpbCBDQQIRAJ+V+nH+5EZNhg8fSy4Z6gMwDQYJYIZIAWUDBAIBBQCg ggJZMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIxMTIyNDE3 MTcwN1owLwYJKoZIhvcNAQkEMSIEIPXKmOiFzWs/DtmSy/xPnxxNMHnG+WtszmLyUaeGuRRy MGwGCSqGSIb3DQEJDzFfMF0wCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0D BzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwIC ASgwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0 ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1p dGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNl Y3VyZSBFbWFpbCBDQQIRAJ+V+nH+5EZNhg8fSy4Z6gMwgb8GCyqGSIb3DQEJEAILMYGvoIGs MIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQH EwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAn5X6cf7k Rk2GDx9LLhnqAzANBgkqhkiG9w0BAQEFAASCAQCOuerf6wfJLpTAffU11v1INV3lP/QI7V+A MQswYSmPrnIk8BF/rZasyFZyyVGojD2dW72YhW8bbVb6fmbte0bJOK5CwwPvv8ieVWOgHRMp 009284oK39R1xU2Bjv5s0JduuWkzw7vujcU372iDqO/unRUz7hoxciLGxbB/8W+/HqYk10b0 z3qFCcpbYiKez+ldjI9jm78cTARmKjELjJ9W80pqzQydwozHShjyBMjPERf/K39ej2BS+u0K Q5U1OBhtLGxasQ1BvKHw8fH8bNzXbTcMD0uOMzNypZQXtJdYyOits3QJPEfsRwDzH0LnzElH 24sGXeMevxX9//6ulq/zAAAAAAAA --------------ms060100030506010008020903-- --===============7365308637489258359== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQ09GRiBtYWls aW5nIGxpc3QKQ09GRkBtaW5uaWUudHVocy5vcmcKaHR0cHM6Ly9taW5uaWUudHVocy5vcmcvY2dp LWJpbi9tYWlsbWFuL2xpc3RpbmZvL2NvZmYK --===============7365308637489258359==--