Sponsored Content
Top Forums Shell Programming and Scripting Ksh93 vs. Pdksh88: Custom PS1 prompt not working Post 302489100 by alan on Wednesday 19th of January 2011 12:48:18 PM
Old 01-19-2011
Quote:
Originally Posted by jlliagre
Why not simply installing ksh " on host B as pdksh is likely the root cause ?

Alternatively, a more portable way might be:
Code:
PS1="$(printf "\033[46;31m%s@\033[1;33m%s\033[0m>" $(logname) $(hostname -s))"

Great idea. However,

a) not up to me
b) several apps on host B rely of libs that were compiled for pdksh. Don't ask me which libs as I have no idea.

---------- Post updated at 09:48 AM ---------- Previous update was at 09:40 AM ----------

Quote:
Originally Posted by jlliagre
Why not simply installing ksh " on host B as pdksh is likely the root cause ?

Alternatively, a more portable way might be:
Code:
PS1="$(printf "\033[46;31m%s@\033[1;33m%s\033[0m>" $(logname) $(hostname -s))"

Tested your suggestion for a more portable PS1. It works across all my hosts.

Thank you!!Smilie
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

PS1 with date stamp included in prompt

How would I put the date within my PS1 command for my shell prompt? I have it set to: PS1='$>' I tried PS1='$>' but that didn't work. (7 Replies)
Discussion started by: kymberm
7 Replies

2. UNIX for Dummies Questions & Answers

colors in Prompt - $PS1

would someone please explain in detail, how does the code below change the color or bash prompt $ echo $PS1 :\033 are there other tricks like above? (3 Replies)
Discussion started by: rakeshou
3 Replies

3. UNIX for Dummies Questions & Answers

PS1 prompt

please advise what's wrong with this command ? PS1="`hostname`:`who am i | cut -d " " -f1`:>>" trying to make the PS1 prompt look like : machine_name:username:>> thank you (4 Replies)
Discussion started by: venhart
4 Replies

4. Shell Programming and Scripting

Help setting PS1 prompt to include current time

Hi, I'm using the ksh shell and I'd like to set my PS1 prompt on an AIX system to include, amongst ther things, the current time. This was my best effort: export PS1=$(date -u +%R)'${ME}:${PWD}# ' but this only sets the time to the value when PS1 is defined and the time value doesn't... (4 Replies)
Discussion started by: m223464
4 Replies

5. Shell Programming and Scripting

How to get a Prompt (PS1) Timestamp under /sbin/sh?

Hi, I'm trying to find out if there is a way to get a timestamp on my Solaris root shell prompt using /sbin/sh? I'm trying to archive something in line with the following: 12:34:26 root@server # 12:34:28 root@server # 12:34:28 root@server # ls ... 12:34:30 root@server # I know there... (1 Reply)
Discussion started by: Solarius
1 Replies

6. UNIX for Advanced & Expert Users

Writing Custom Builtins for KSH93

I am looking to create some ksh93 extensions using the custom builtin feature. I can successfully create a builtin function, load it using the builtin -f command and get an output. However, I want to get/set values of KSH variables from within my built-in. For example, lets say I am creating... (2 Replies)
Discussion started by: a_programmer
2 Replies

7. Shell Programming and Scripting

Change / Setup bash custom prompt (PS1)

I am trying to create my custom prompt and I have almost succeeded. Right now I have PS1='\n\\$\ ' What I have not figured out is how to make the directories bold when I'm using commands ls or ls -la. Any idea how to do it??? Many thanx. (2 Replies)
Discussion started by: emailkia
2 Replies

8. UNIX for Dummies Questions & Answers

Why is my PS1 breaking my prompt?

So, this is strange... I created this prompt: PS1='\n\e You can see that it's a pretty minor modification of the default Debian prompt. And, if it matters, I'm using Putty to SSH to my server. The following strange symptoms appear when I use that prompt, and disappear when I change and... (2 Replies)
Discussion started by: treesloth
2 Replies

9. UNIX for Dummies Questions & Answers

PS1 (Prompt character) appearing in cat output

RedHat Linux 5.8/Korn Shell I have text file name /etc/oracle/config.loc. It has the following text #Device/file getting replaced by device +OCR ocrconfig_loc=+DATA ocrmirrorconfig_loc=+OCRBut , when I open this file using cat , the PS1 character (for prompt) appears as the last character... (8 Replies)
Discussion started by: omega3
8 Replies

10. Solaris

Help changing the PS1 prompt in Solaris

Hi, I need help changing PS1 in Solaris. I tried this: MYPROMPT="> " PS1=$LOGNAME@$HOSTNAME:${PWD}$MYPROMPT (NOT SURE WHY IT'S HIGHLIGHTED HERE) export PS1 My problem is that $PWD is not working, when I get the prompt and I change directories, the prompt is not displaying the current... (17 Replies)
Discussion started by: curiousmal
17 Replies
SHELL-QUOTE(1p) 					User Contributed Perl Documentation					   SHELL-QUOTE(1p)

NAME
shell-quote - quote arguments for safe use, unmodified in a shell command SYNOPSIS
shell-quote [switch]... arg... DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands or files with embedded white space or shell globbing characters safely. Here are a few examples. EXAMPLES
ssh preserving args When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and passes them to "$SHELL -c". This doesn't work as intended: ssh host touch 'hi there' # fails It creates 2 files, hi and there. Instead, do this: cmd=`shell-quote touch 'hi there'` ssh host "$cmd" This gives you just 1 file, hi there. process find output It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote: eval set -- `find -type f -print0 | xargs -0 shell-quote --` debug shell scripts shell-quote is better than echo for debugging shell scripts. debug() { [ -z "$debug" ] || shell-quote "debug:" "$@" } With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can. save a command for later shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are things the user can't pass through), you can do something like this: user_switches= while [ $# != 0 ] do case x$1 in x--pass-through) [ $# -gt 1 ] || die "need an argument for $1" user_switches="$user_switches "`shell-quote -- "$2"` shift;; # process other switches esac shift done # later eval "shell-quote some-command $user_switches my args" OPTIONS
--debug Turn debugging on. --help Show the usage message and die. --version Show the version number and exit. AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions. AUTHOR
Roderick Schertler <roderick@argon.org> perl v5.8.4 2005-05-03 SHELL-QUOTE(1p)
All times are GMT -4. The time now is 02:12 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy