hi guys..
i have a shell script that loops through a certain directory to see if a file has been created and then prints the file if it exists...
the only problem i have now is that sometimes the flat does not get created by the program thats supposed to create it, in this scenario, my loop... (1 Reply)
Hi all. I am trying to execute a while loop that reads a log file containing a file listing, and it compares file sizes, etc.
But I am getting an error that makes it seem like it is not reading the log file line by line. When I do a 'more' on the log file, it doesn't appear to be wrapped...
... (1 Reply)
hi,
can any one suggest why the program 2 is not working.
only difference is
for ab in *.txt
for ab in a_DATA.txt b_DATA.txt c_DATA.txt
------------------------------------
Program :1 (working fine)
#!/bin/ksh
for ab in a_DATA.txt b_DATA.txt c_DATA.txt
suf="_"
echo "old->... (1 Reply)
This is the content of a file work.log
1 TGBUS I-US 0;15;83
i did this
for i in `cat work.log`
do
echo $i
done
I wanted the out put to be
1 TGBUS I-US 0;15;83
But the output appears as
1
TGBUS
I-US
0;15;83
For Loop treats space as a delimiter. Can i overrride this space as... (10 Replies)
Hi,
I have the following script which is two while loops, but it is working only for the Inner loop without going back to the outer loop.
the aim of this script is to remove data files from memory after each five times for each setting of the rotate parameter
#!/bin/csh
set hdir =... (1 Reply)
Hi,
I have a command that I want to translate to Unix. I mostly work with Windows and because of that I am stuck on a part.
What I cannot find on the internet is skipping the first lines in a for loop and using a certain word/token. (I know how to do a normal loop with output)
I need to skip... (1 Reply)
Hi,
I need to reset root password on multiple servers, need to do it from my Jump server, so I'm plannin to use for loop.
Can someone pleaz suggest me how to do this...?
For example, I check the uptime of a server from my jump box,
===========================================
for i in... (1 Reply)
Dear all,
I have a question regarding unix loops. I want to run 100 commands using file1.txt-file100.txt in parallel. I use the code below and it works well. But now I want to run first 20 commands first using file1.txt-file20.txt in parallel, then when they are completed, run the next 20... (4 Replies)
I have a table in oracle which has 2 columns
table_name table_name1
U1 T1
U2 T2
I have to take these as a variable in unix and then go to /home/bin and execute a unix command using these variables.
Considering that there is only one row in the table I was able to write the below but need help... (2 Replies)
Discussion started by: Ashcalin
2 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)