07-19-2019
Quote:
Originally Posted by
bestard
I've tried postcmd, it works well. Thank you.
Just report my experiences using precmd and postcmd. Actually, I've had enough coping with tcsh bugs.
I'm now using tcsh 6.17.00 (Astron).
On account of precmd's bug, I used postcmd to do an alias command as below
Quote:
alias postcmd 'history -S;history -M'
It looked worked, but actually this alias caused while loop in a shell script worked erratically.
While I did a simple increment by 1 to a variable, it only looped once and finished.
It can be easily reproduced this bug.
My suggestion is using this two functions in precaution if you don't want to mess up with other built-in commands.
I've given up on the "history stuff" unless someone has a better solution.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I'm working on OpenOffice Localization; In that I need to work most of in 'tcsh'
Since I have almost work till now in 'bash', I want to explore 'tcsh' much more ..
An body suggest me a way ? books ?
Thanks,
:) (1 Reply)
Discussion started by: kartik
1 Replies
2. UNIX for Advanced & Expert Users
As in Windows we have Video memory and we can access it through C programs, do we have anything similar to that in Unix and similar operating systems. If we have some sort of Video memory in Unix flavours, then how can we access it through C programs. (4 Replies)
Discussion started by: rahulrathod
4 Replies
3. UNIX for Dummies Questions & Answers
I recently purchased a book titled Hacking: The Art of Exploitation. When I got it home I read the preface and found out that i shouldnt have bought it. It says the code examples in this book were done on an x86 based computer (I have a mac). Is there anything I can do to make my mac run similar to... (2 Replies)
Discussion started by: Cyberaxe
2 Replies
4. Shell Programming and Scripting
I need to write a tcsh script which would compare files in the two folders and then send me a mail saying which of the files are missing.For eg
1) I have this folder1 containing all the files which must land on folder2 on a daily basis.
2) If a file is present in folder1 but not in... (6 Replies)
Discussion started by: kumarsaravana_s
6 Replies
5. UNIX for Dummies Questions & Answers
am working in tcsh
while writing a script, what is diff between foll two starting line
#!/bin/csh
#!/bin/csh -f
Also can I use the same line for script in tcsh or I have to necessarily use
#!/bin/tcsh
I guess even #!/bin/sh will also do. Kindly clarify (3 Replies)
Discussion started by: mahendrakamath
3 Replies
6. Shell Programming and Scripting
I want to search line-by-line for a string in a file, and I want to do this to a series of files in a directory. I'm doing this in tcsh
This works fine to do the search:
while read i; do grep $i file2; done <file1.txt
This also works fine to read a directory:
foreach file ('/bin/ls... (1 Reply)
Discussion started by: moldoverb
1 Replies
7. Shell Programming and Scripting
Hi!
I want to log out of the tcsh shell without updating the history?
Thanks,
Jack. (3 Replies)
Discussion started by: jacki
3 Replies
8. Shell Programming and Scripting
Does anyone no way my .tcsh_history file is filling up with a bunch of crap?? It is filled with lines like:
! ls eccracrascratcd ! ls mecd /hchoo "cratch2/mecd /sch2/mecd /sh2/mecd /scratchcd /scratch2/mecd /scratcraecd /ls mo "ls" >
! ls eccratch2/mecd /sc/ls"d /scratch2/mecd histecho "ls" o... (2 Replies)
Discussion started by: Bic121
2 Replies
9. Shell Programming and Scripting
Dear all,
I have piece of command from tcsh, which I would like to be in my .bashrc file.
However, I am comletely blank about the tcsh commandline.
if (-e ~/forum/dir/code.sh) then
source ~/forum/dir/code.sh
endif
Any piece of suggestions how to convert it to sh way?
Thank you
emily (5 Replies)
Discussion started by: emily
5 Replies
10. Shell Programming and Scripting
Hallo,
I try to write a program which processes an input-file linewise.
I created the following minimal example:
hash-problem:#!/bin/tcsh
foreach text ("`cat $1`")
echo $text
endUsually, it works as expected, but there are two problems:
1. If the argument of hash-problem has an... (3 Replies)
Discussion started by: DanielDD
3 Replies
LEARN ABOUT DEBIAN
shell-quote
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)