05-14-2013
Quote:
Originally Posted by
bakunin
The solution to this is "eval"
Worked simply/perfectly. Thanks!
And thank you everybody else who pitched in =)
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have this script:
#!/bin/ksh
######### Environment Setup #########
PATH=/gers/nurev/menu/pub/sbin:/gers/nurev/menu/pub/bin:/gers/nurev/menu/pub/mac
:/gers/nurev/menu/adm/sbin:/gers/nurev/menu/adm/bin:/gers/nurev/menu/adm/mac:/ge... (5 Replies)
Discussion started by: heprox
5 Replies
2. Linux
hiii,
in many of the linux machines i have tried this but the result is the same everywhere.
if there are double letters in a hostname then that is displayed as single letter.
e.g. if hostname is set to nepttune then login into the shell will display :
NEPTUNE(admin)@/
$ hostname... (15 Replies)
Discussion started by: shamik
15 Replies
3. UNIX for Dummies Questions & Answers
I've noted that in order to use commands like ifconfig, I have to prefix the commands with the directory.
/etc/profile shows that the paths should be part of the PATH environment variable; any idea where the bug is?
:confused:
# /etc/profile
# System wide environment and startup... (1 Reply)
Discussion started by: jon80
1 Replies
4. UNIX for Dummies Questions & Answers
Hi there,
I have a ftp server called atlantis. Because of the f...g french characters, I noticed something very weird. Depending on what program I use (ftp, lftp or ssh) the same character is displayed as three different ways.
On my local computer, the file is correctly displayed as "modéles".... (1 Reply)
Discussion started by: chebarbudo
1 Replies
5. Forum Support Area for Unregistered Users & Account Problems
There was a problem with the site servicing our spam address checking. As a result all registrations were being rejected. If you have encountered this problem please try again and you should be permitted to join. (0 Replies)
Discussion started by: reborg
0 Replies
6. Shell Programming and Scripting
Afternoon,
I have a script which creates/modifies data into a formatted csv.
The trailer record should display 2 columns, the first is a static entry of "T" to identify it as a trailer record. The 2nd is a total of amounts in a column throughout the entire file.
My total isn't displaying... (8 Replies)
Discussion started by: mcclunyboy
8 Replies
7. UNIX for Dummies Questions & Answers
Hello I'm very new to Linux and shell scripting so I only know basic stuff. I'm making a script with the purpose of finding the longest string or word in a file. Here's what I got so far:
#!/bin/bash
longest=""
for i in $(strings -n $1); do
if ]
then
longest=$i
fi
done
echo $longest... (4 Replies)
Discussion started by: SCB
4 Replies
8. UNIX for Dummies Questions & Answers
If one:
$ find -name 'some expression' -type f > newfile
and then subsequently wants to create an alias file from each pathname the find command retrieved and the > placed within 'newfile', how would one do this? Ideally, the newly created alias files would all be in one directory.
I am... (3 Replies)
Discussion started by: Alexander4444
3 Replies
9. Shell Programming and Scripting
Hello All,
I am learning BASH scripting and I would appreciate any help with a small problem I am having...
I am writing a script that builds a simple hosts file for DNS reasons related to a piece of software called netdb by parsing another application's config files for IP's and their... (4 Replies)
Discussion started by: Wesley545
4 Replies
10. UNIX for Beginners Questions & Answers
Hi all
When I sftp to an Oracle cloud server, to a folder where there are more than 10k files, and list a small subset of files, it works OK. When I try list more than 10k files, it says file not found. Example output below.
(FYI ls/mget with 6k files works OK on this server)
Has anyone... (3 Replies)
Discussion started by: pdinsdale
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)