03-30-2014
Posix, in their wisdom mandated that shells should follow this rule... "Only the decimal-constant, octal-constant, and hexadecimal-constant constants specified in the ISO C standard, Section 6.4.4.1 are required to be recognized as constants". For some reason, shells that are totally non-posix in nature like csh and tcsh are adopting this rule. It has broken a lot of scripts including several hundred of my own. I fixed them all rather than fighting it. But I use ksh which can easily strip off the leading zero. There is no great solution to offer someone who has a lot of csh scripts.
There is no easy way to say this, but if you insist on creating lots of csh scripts you better prepare yourself to face problems with no good solutions. The right answer is to write your scripts in bash or ksh. I know you don't want to hear that, but it's the truth.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello. I'm trying to write a shell script that will take files that have .tar, .tar.gz, .tar.Z, .gz, .Z and .zip file extensions and uncompress and unarchive them. The script should be able to take multiple arguments. So far I can write a script using the case command that will do this but it will... (3 Replies)
Discussion started by: SeanWuzHere
3 Replies
2. Shell Programming and Scripting
Hello~
I'm on AIX version 5 and I believe I have the tcsh shell environment to play in. Can you guys help me with a solution to rename all files that have "eclp" in the filename to "ecl" ? I basically want to rename the files and strip the "p" out.
i.e. original filenames:
... (3 Replies)
Discussion started by: in2vtec
3 Replies
3. UNIX for Dummies Questions & Answers
Hello,
Why tcsh shell is not recommended ? then which one is better ?
Also can you please let me know how to change own shell and config file? (3 Replies)
Discussion started by: darshakraut
3 Replies
4. HP-UX
Hi,
I need to find tcsh shell version info on several boxes.
I made a script and running on boxes through SSH.
This is what i am doing :
echo /bin/tcsh -c 'echo $version' | ssh "box name"
but i dont see anything.
if i run /bin/tcsh -c 'echo $version' on ocal machine i see the... (2 Replies)
Discussion started by: kailash19
2 Replies
5. UNIX for Dummies Questions & Answers
Hi,
I type in my shell:
set prompt="(%M) %c%b%# "
to get something like:
a/b/c>
this works, but only partially.
every time I move to to a different directory (i.e. 'cd <some dir>'), the prompt is reset. Meaning, when I 'echo $prompt' after setting the prompt I get the correct prompt,... (8 Replies)
Discussion started by: yuvalbn
8 Replies
6. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
I am working on a hands on project. We are creating a script for a corporate phone list. The project I am... (2 Replies)
Discussion started by: SarahBelle7858
2 Replies
7. Shell Programming and Scripting
I am a beginner (Just 2 days old:o ), i will really appreciate if you can solve my silly queries as below:
Lets say i write a script like this
#!/bin/bsh
clear
#to read name from keyboard
echo "your name please.."
read fname
echo "you just entered $fname"
exit 0
My environment is... (2 Replies)
Discussion started by: animesharma
2 Replies
8. Shell Programming and Scripting
Hi All,
I have made a file file usercreate.sh & it has to run in tcsh env & needs some path to be set.
my script is as below.
##########################
#!/bin/csh
setenv PATH "/usr/lib/java/class"
setenv LD_LIBRARAY_PATH
###########################
but when i am ruuning my script... (1 Reply)
Discussion started by: ajaincv
1 Replies
9. Shell Programming and Scripting
The campus system that I use has switched to using winbind. In the old days, I was able to specify tcsh as my shell with the usual entry in /etc/passwd. But I'm told winbind doesn't have user specific entries, and now my ssh login defaults to a bash shell. Can anybody advise how I can... (2 Replies)
Discussion started by: LeoKSimon
2 Replies
10. Shell Programming and Scripting
Am still learning Scripting and I come across a build command that I don't really understand
if /local/bin/wsname 2>/dev/null; then
base="`/local/bin/wsname`"
export base
fi
if ; then
/local/bin/wsname
exit 1
fi
WSNAME="$base"/
can some one in light me to what... (1 Reply)
Discussion started by: Wpgn
1 Replies
LEARN ABOUT OPENSOLARIS
getusershell
getusershell(3C) Standard C Library Functions getusershell(3C)
NAME
getusershell, setusershell, endusershell - get legal user shells
SYNOPSIS
#include <unistd.h>
char *getusershell(void);
void setusershell(void);
void endusershell(void);
DESCRIPTION
The getusershell() function returns a pointer to a legal user shell as defined by the system manager in the file /etc/shells. If
/etc/shells does not exist, the following locations of the standard system shells are used in its place:
/bin/bash /bin/csh
/bin/jsh /bin/ksh
/bin/ksh93 /bin/pfcsh
/bin/pfksh /bin/pfsh
/bin/sh /bin/tcsh
/bin/zsh /sbin/jsh
/sbin/pfsh /sbin/sh
/usr/bin/bash /usr/bin/csh
/usr/bin/jsh /usr/bin/ksh
/usr/bin/ksh93 /usr/bin/pfcsh
/usr/bin/pfksh /usr/bin/pfsh
/usr/bin/sh /usr/bin/tcsh
/usr/bin/zsh /usr/sfw/bin/zsh
/usr/xpg4/bin/sh
The getusershell() function opens the file /etc/shells, if it exists, and returns the next entry in the list of shells.
The setusershell() function rewinds the file or the list.
The endusershell() function closes the file, frees any memory used by getusershell() and setusershell(), and rewinds the file /etc/shells.
RETURN VALUES
The getusershell() function returns a null pointer on EOF.
BUGS
All information is contained in memory that may be freed with a call to endusershell(), so it must be copied if it is to be saved.
NOTES
Restricted shells should not be listed in /etc/shells.
SunOS 5.11 1 Nov 2007 getusershell(3C)