WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: $PS1 values in ATerm  (Read 2994 times)

Offline AlejandroPadrino

  • Full Member
  • ***
  • Posts: 143
$PS1 values in ATerm
« on: July 03, 2011, 12:36:49 PM »
Hello, I want to use my own prompt for Linux into TinyCore 3.7.1 console.  I use this in Ubuntu ...

export PS1="\[$(tput bold; tput setaf 1)($(tput bold; tput setaf 3)\d \t$(tput bold; tput setaf 1))$(tput bold; tput setaf 5):$(tput bold; tput setaf 1)[$(tput bold; tput setaf 2)\u$(tput bold; tput setaf 5):$(tput bold; tput setaf 6)\w$(tput bold; tput setaf 1)]$(tput bold; tput setaf 5)\$$(tput bold; tput setaf 3)>$(tput bold; tput setaf 7)ยท "

I can't make it in TinyCore because there is no tput & setaf commands.  Using escape sequences does not run.  Can change colors, but codes \d and \t (and next codes I supposed) do not run.

Can you help me?

Offline maro

  • Hero Member
  • *****
  • Posts: 1228
Re: $PS1 values in ATerm
« Reply #1 on: July 03, 2011, 06:51:43 PM »
As far as I can tell you've got two main reasons here why TC in it's "base" configuration will differ from Ubuntu:
(1) The 'tput' command is not included in the Core initrd, but would be available via the 'ncurses-utils.tcz' extension, and
(2) the prompting escape codes '\d' and '\t' are not supported by the default shell (i.e. BusyBox 'ash', which at least supports '\u', '\w', and '\$'). The missing ones would become available if you'd change your shell with the help of the 'bash.tcz' extension.

So installation of two extensions (plus a change of your default shell in '/etc/passwd') would allow you to use the 'PS1' setting from Ubuntu in an unchanged fashion.


EDIT: I've now come up with a way to express '\d' and '\t' even in 'ash': by replacing \d \t with $(date "+%a %b %d %T") the requirement to install 'bash' is gone. Furthermore I've used in my testing just some of the colors which are already defined in '/etc/init.d/tc-functions' so with
    export PS1='${RED}(${YELLOW}$(date "+%a %b %d %T")${RED}):[${GREEN}\u${RED}:${GREEN}\w${RED}]\$${NORMAL}>- '
I managed to produce a prompt not too dissimilar to the original version. So I don't see a problem to also "ditch" the requirement for the 'ncurses-utils.tcz' extension.

IMHO the whole prompt looks pretty "sick", but as we know "Beauty is in the eye of the beholder" ...
« Last Edit: July 04, 2011, 12:40:31 AM by maro »

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 10957
Re: $PS1 values in ATerm
« Reply #2 on: July 04, 2011, 01:03:16 AM »
Wow, showing that prompt must be really slow with all those calls to tput. I remember how I could feel the difference of even one date call on a P3.

// Just random comments, maro you have some great and in-depth advice there.
The only barriers that can stop you are the ones you create yourself.

Offline AlejandroPadrino

  • Full Member
  • ***
  • Posts: 143
[Solved]: $PS1 values in ATerm
« Reply #3 on: July 04, 2011, 06:57:18 AM »
Since 1990 with my old and loved D.O.S. environment, I always use prompt colors.  You can use attached file, if like, to save prompt string into .bashrc and .profile home files.

Thank you very much.