Sponsored Content
Top Forums Shell Programming and Scripting Problem iterating through PATH entries with spaces Post 302421567 by dkarr on Friday 14th of May 2010 07:40:32 PM
Old 05-14-2010
Problem iterating through PATH entries with spaces

I have a Bash script on Cygwin that tries to iterate through the directory entries in PATH. I need to convert the PATH value to a form that I can iterate through with "for var in $list; do".

For instance, an excerpt from my PATH value is this:

:/c/Program Files/Windows Imaging/:/c/Program Files/MySQL/MySQL Server 5.1/bin

I need to somehow coerce this into something I can iterate through, where each original PATH entry goes into a variable.

I tried replacing " " (space) with "\ " (escaped space). That seems correct, but I also have to replace ":" (colon) with " " (space). I also tried replacing ":" with "\n", but that doesn't seem to help. Inside the "for" loop, the value of "var" never includes the full directory name, it always breaks at spaces in the names.

---------- Post updated at 04:40 PM ---------- Previous update was at 04:22 PM ----------

Duh. Never mind. I discovered "IFS=$':'". Very simple.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

cc path problem - no acceptable path found

Hello everyone, I'm a unix noob. I have a powerbook running mac os x 10.4 and for one of my classes I need to install the latest version of php (5.0.5). I'm following the instructions at http://developer.apple.com/internet/opensource/php.html to install but I've run into a problem. The... (2 Replies)
Discussion started by: kendokendokendo
2 Replies

2. UNIX for Dummies Questions & Answers

Problem with spaces in directory path

Hi Gurus, I have a requirement. cat /usdd/Sample/"NDDF Plus DB"/"NDDF Descriptive and Pricing"/"NDDF BASICS 3.0"/"Pricing"/1.txt | sed 's/*|*/|/g' | sed 's/^*//'| sed 's/^*//; s/*$//' > temp.txt In unix prompt the above command is reading the file 1.txt and I am... (1 Reply)
Discussion started by: prabhutkl
1 Replies

3. Shell Programming and Scripting

Problem iterating in while loop

I am facing a problem in replacing the file contents by iterating through the list. My present code: Code: #!/bin/bash# TFILE="/tmp/vinay/testb_1.txt" while read linedo aline="$line" echo $aline code=`echo $aline|cut -d ',' -f1` country=`echo $aline|cut -d... (5 Replies)
Discussion started by: av_vinay
5 Replies

4. Shell Programming and Scripting

iterating over results from sqlplus

hi all, i am writing a ksh script, i am logging into an oracle db via sqlplus and running a select statement but i dont know how i can store the results from the sql so i can iterate over it and do more operations over it. I dont want to write a stored procedure with a cursor since i need to... (2 Replies)
Discussion started by: cesarNZ
2 Replies

5. Shell Programming and Scripting

problem with spaces in filename

I have written a script to run ddrescue on a list of files. #!/bin/bash # # A script to rescue data recursively using ddrescue. srcDir=/damaged/hdd/movies/ #the source directory desDir=/new/hdd/movies/ #the destination directory... (2 Replies)
Discussion started by: colsinc
2 Replies

6. Shell Programming and Scripting

Problem with spaces in the path

Hi all, I have a variable test has the following value assigned.. could you please help on doing cd or ls to the value in the varible ... $echo $test /bdm/sdd/compounds/AD4833XT/requests/clin/Watson_20090420/docs/MHRA\ Comments\ \&\ Responses $cd $test ksh: cd: bad argument count $cd... (3 Replies)
Discussion started by: firestar
3 Replies

7. Shell Programming and Scripting

Conduct a search or test -f over a path with spaces

I am organizing my music library on a NAS server. I want to print a list of all the directories that are missing the cover art (at least one or more jpeg file). I have successfully created a file with each line containing the path to each occurance of one or more .mp3 files. That path is also... (2 Replies)
Discussion started by: godfreydanials
2 Replies

8. Shell Programming and Scripting

Set problem with spaces

#### ~]$ set "hello 'cat dog walk' money elephat" #### ~]$ echo $* | awk '{print $2}' 'cat why is the second command above showing only "'cat ? shouldn't the output be: 'cat dog walk' how can i fix this so it gives me the chosen column in its entirety? (11 Replies)
Discussion started by: SkySmart
11 Replies

9. Shell Programming and Scripting

Bash script not parsing file with spaces in path

Hi everyone, I'm trying to write my first ever shell script, the OS is Raspbian. The code I have written must be executed whenever a certain database has been modified. The database resides on a Windows server to which I have a mount point, and I have no control over the Windows server at all so... (2 Replies)
Discussion started by: gjws
2 Replies

10. Shell Programming and Scripting

Proper way to use a path with spaces in the directory name

I am using the below bash loop: or f in /media/cmccabe/My Book Western Digital/10_29and30_2015/*.bam ; do bname=`basename $f` pref=${bname%%.bam} samtools view -H $f | sed '/^@PG/d' | samtools reheader - $f > /home/cmccabe/Desktop/NGS/${pref}_newheader.bam done is the... (1 Reply)
Discussion started by: cmccabe
1 Replies
LATD.CONF(5)							File Formats Manual						      LATD.CONF(5)

NAME
latd.conf - LAT configuration file SYNOPSIS
/etc/latd.conf DESCRIPTION
/etc/latd.conf is a shell script (run by /bin/sh) that is run when latd is started up using the latcp -s command. It contains commands used to customise lat for your site and usually consists of a list of latcp commands. latd.conf is run with a minimal PATH and a minimal environment. The variable $LATCP points to the latcp binary used to invoke the script. EXAMPLE # /etc/latd.conf # This is a sample configuration file for latd # it is run as s shell script from latcp -s with a minimal # environment and PATH. latcp should be invoked using the # environment variable $LATCP. # # You can fiddle with all the latd parameters you like in here, # the first service announcement will not be made until this # script completes. # # Set the multicast timeout to 30 seconds $LATCP -m 30 # Add another login service $LATCP -A -a ZAPHOD -r 100 # Add a queued reverse LAT service to a printer on a DECserver $LATCP -A -p /dev/lat/printer -Hdecserver -Vdecserver -Q # Only advertise our service in groups 1-10 and 200 $LATCP -G 1-10,200 exit SEE ALSO latcp(8), latd(8) LAT Server June 2 2000 LATD.CONF(5)
All times are GMT -4. The time now is 07:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy