10-05-2013
I like this solution because it requires a mere addition to the for loop without additional indentation:
Quote:
Originally Posted by
RudiC
or some grep -v $0 in the for loop.
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi there,
Does anyone know of a way I can become a different user in a script? I need to run a script as one user (not root), and change to another user half way through.
It stops and asks me for the password, and I can't find a way to feed the password in through the script.
Thanks (2 Replies)
Discussion started by: chorgan
2 Replies
2. Shell Programming and Scripting
I would like to have a script that would change my current working directory. However, any time I execute a 'cd' command in a script, it holds only for the life of that script -- the working directory on exit is the same as when the script was initiated. Is it possible to have the script return... (3 Replies)
Discussion started by: George Borrmann
3 Replies
3. Shell Programming and Scripting
HI ,
I have a list1 which consists of data that i have to search and a list2 which has the files that need to be searched .So basically i am using list1 on list2 to see if list1 data is present if found replace it .I have written the code using foreach loop for each list .This is taking the... (1 Reply)
Discussion started by: madhul2002
1 Replies
4. Shell Programming and Scripting
Hi,
When I run the below script in UNIX it's throwing syntax errors. Actually it's a windows batch script. Could anyone change the below Windows Batch script to UNIX shell script...
Script:
REM :: File Name : Refresh_OTL.bat
REM :: Parameters : %1 - Region
REM :: : %2 - Cube Type
REM ::... (5 Replies)
Discussion started by: tomailraj
5 Replies
5. UNIX for Dummies Questions & Answers
Hello every one i have an script in sco unix 5.06 to take a long archive over MOD drive and this script contains many line to change destination to DVD anyone can help to me for change this script to take backup on DVD instead of MOD
the attached script LzaModBed.engl (1 Reply)
Discussion started by: kaydream
1 Replies
6. Shell Programming and Scripting
Hi Experts,
I had tried to executes this script to change the user password through script:
No lines in buffer
#!/bin/ksh
cat /etc/passwd | grep -v userid >> /tmp/pass.tmp1
cat /etc/passwd | grep userid >> /tmp/pass.tmp2
PASS1=`cat /tmp/pass.tmp2 | cut -d ":" -f2`
PASS2=`q2w3e4r5`
sed... (3 Replies)
Discussion started by: indrajit_renu
3 Replies
7. Shell Programming and Scripting
I have a question about changing how parsing occurs currently for us:
input FILE123
TAGA01: 01
TAG02: daadsf
TAG03: adfasdf
TAGBBB04: 35
TAG05: asdfa
TAG07: adfd
TAG07: adfa3
TAG07: 234234
TAGCC08: 3525df
TAG09: adsfa
TAG10: 245
TAG11: nnnn
EOR:
TAGA01: 02
TAG02: abas
TAG03:... (2 Replies)
Discussion started by: Roga Danar
2 Replies
8. UNIX for Dummies Questions & Answers
Hi, I need to write a script that changes the name of the filename. Let's say my script is named change_filename and I want to use it on a file named test1.txt. After running the script I want the filename renamed to test1_fails.txt
e.g.
$ ls
test1.txt test2.txt test3.txt
$ ... (15 Replies)
Discussion started by: millsy5
15 Replies
9. Shell Programming and Scripting
Hi All
I have the following script that is supposed to change permissions of incoming files to a directory, but it does not seem to do what I want, please can you help:
mkdir -p /tmp/tmpdir
find /moneta_polled01/sgsn/ -exec ls -l {} \; |grep -v rwxrwxrwx |awk '{print $9}' >... (4 Replies)
Discussion started by: fretagi
4 Replies
LEARN ABOUT CENTOS
shell-quote
SHELL-QUOTE(1) User Contributed Perl Documentation SHELL-QUOTE(1)
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.16.3 2010-06-11 SHELL-QUOTE(1)