Sponsored Content
Operating Systems OS X (Apple) File paths with spaces in a variable Post 302739491 by bakunin on Tuesday 4th of December 2012 09:17:58 AM
Old 12-04-2012
Quote:
Originally Posted by tillett22
Hi all my very first post so go easy on me!!
No problem: would you please use CODE-tags when posting code? Thank you.

Quote:
Code:
#!/bin/bash
X="/Library/Users/Application\ Support/"

LS="ls"
AL="-al"

$LS $AL $X

I know this is a problem with the space in the file path but I thought the "" would pass to the commandline with no issues but I am wrong.
True. The problem is in the last line: your definition of "X" is ok, since the space is protected there (try removing the double quotes and you will get an error if you remove the escape "\" too). But when your script gets to the last line it first replaces "$X" with its contents and only then executes the line. This is "ls" is presented two parameters, separated by a space (which was no longer protected) the first and the second part of "$X". "ls" is fine with getting two paths, but these two paths, "/Library/Users/Application" and "Support/" do not exist, hence you get two errors, one for the first missing path and one for the second.

Use

Code:
$LS $AL "$X"

or, if you are completely paranoid, like me:

Code:
"$LS" "$AL" "$X"

and it will work as expected.

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Strip leading and trailing spaces only in a shell variable with embedded spaces

I am trying to strip all leading and trailing spaces of a shell variable using either awk or sed or any other utility, however unscuccessful and need your help. echo $SH_VAR | command_line Syntax. The SH_VAR contains embedded spaces which needs to be preserved. I need only for the leading and... (6 Replies)
Discussion started by: jerardfjay
6 Replies

2. Shell Programming and Scripting

Variable containing spaces

Hi, my var is: PATH_LOG=/opt/WebSphere/CR Comune Roma.log a filename which contains blank chars. How can I call it from prompt ? Ex: ls $PATH_LOG or cat $PATH_LOG tks, Carmen- (2 Replies)
Discussion started by: Carmen123
2 Replies

3. UNIX for Dummies Questions & Answers

Unable to use mimesender to send attachments with spaces in the file names / paths

Hello, I found the mimesender multiple attachment emailing shell script in the FAQ of these forums, and I have been able to use it to send multiple files, but only if they don't have spaces in their file name or path. When I attempt to send a file with spaces in it's name, enclosed... (0 Replies)
Discussion started by: rsmorra
0 Replies

4. Shell Programming and Scripting

Removing blank spaces, tab spaces from file

Hello All, I am trying to remove all tabspaces and all blankspaces from my file using sed & awk, but not getting proper code. Please help me out. My file is like this (<b> means one blank space, <t> means one tab space)- $ cat file NARESH<b><b><b>KUMAR<t><t>PRADHAN... (3 Replies)
Discussion started by: NARESH1302
3 Replies

5. Shell Programming and Scripting

Help setting variable from file contents with spaces

I suppose the easiest way to explain my problem is to show you some code and then show you what the code outputs: -------------------------------------------------- #!/bin/bash echo "This line has spaces" > "/tmp/This Filename Has Spaces.txt" export Foo=$(cat "/tmp/This Filename Has... (4 Replies)
Discussion started by: nrogers64
4 Replies

6. Shell Programming and Scripting

Using sed to replace a string in file with a string in a variable that contains spaces

Hi, i call my shell like: my_shell "my project name" my script: #!/bin/bash -vx projectname=$1 sed s/'PROJECT_NAME ='/'PROJECT_NAME = '$projectname/ <test_config_doxy >temp cp temp test_config_doxy the following error occurres: sed s/'PROJECT_NAME ... (2 Replies)
Discussion started by: vivelafete
2 Replies

7. Shell Programming and Scripting

Rewriting file paths in XML file within bash script

Hi guys, I'm working on a large set of scripts to move files around several servers and manipulate them for our staff. Basically we're shooting things, the videos hit a server and then need organised due to the language they've been shot in. Our XML (designed for Apple's Final Cut Pro) is right... (6 Replies)
Discussion started by: omfgbunnies
6 Replies

8. Shell Programming and Scripting

Storing multiple file paths in a variable

I am working on a script for Mac OS X that, among many other things, gets a list of all the installed Applications. I am pulling the list from the system_profiler command and formatting it using grep and awk. The problem is that I want to be able to use each result individually later in the script.... (3 Replies)
Discussion started by: cranfordio
3 Replies

9. Shell Programming and Scripting

Help with reading directory paths with spaces from a file

Hi I want to know how to handle the spaces in the below scenario. I have a file (CON_zip_path_1.txt) which has some directory paths with spaces in directory names . My requirement is to unzip these zip files to another path. Please see the code below and the error. CON_zip_path_1.txt... (4 Replies)
Discussion started by: paul1234
4 Replies

10. Shell Programming and Scripting

Linux Commands needed for replacing variable number of spaces with a single , in a txt file

Hi I want to read a text file and replace various number of spaces between each string in to a single "," or any other character .Please let me know the command to do so. My input file is a txt file which is the output of a SQL table extract so it contains so many spaces between each column of the... (2 Replies)
Discussion started by: Hari Prasanth
2 Replies
Devel::Cover::Tutorial(3)				User Contributed Perl Documentation				 Devel::Cover::Tutorial(3)

NAME
Devel::Cover::Tutorial - An introduction to code coverage VERSION
version 1.03 TUTORIAL
Here's part of a message I sent to perl-qa about code coverage metrics. 1.0 Introduction It is wise to remember the following quote from Dijkstra, who said: Testing never proves the absence of faults, it only shows their presence. In particular, code coverage is just one weapon in the software engineer's testing arsenal. Any discussion of code coverage metrics is hampered by the fact that many authors use different terms to describe the same kind of coverage. Here, I shall provide only a brief introduction to some of the most common metrics. 2.0 Metrics 2.1 Statement coverage This is the most basic form of code coverage. A statement is covered if it is executed. Note that statement != line of code. Multiple statements on a single line can confuse issues - the reporting if nothing else. Where there are sequences of statements without branches it is not necessary to count the execution of every statement, just one will suffice, but people often like the count of every line to be reported, especially in summary statistics. However it is not clear to me that this is actually useful. This type of coverage is fairly weak in that even with 100% statement coverage there may still be serious problems in a program which could be discovered through other types of metric. It can be quite difficult to achieve 100% statement coverage. There may be sections of code designed to deal with error conditions, or rarely occurring events such as a signal received during a certain section of code. There may also be code that should never be executed: if ($param > 20) { die "This should never happen!"; } It can be useful to mark such code in some way and flag an error if it is executed. Statement coverage, or something very similar, can be called statement execution, line, block, basic block or segment coverage. I tend to favour block coverage which does not attempt to extend its results to each statement. 2.2 Branch coverage The goal of branch coverage is to ensure that whenever a program can jump, it jumps to all possible destinations. The most simple example is a complete if statement: if ($x) { print "a"; } else { print "b"; } In such a simple example statement coverage is as powerful, but branch coverage should also allow for the case where the else part is missing: if ($x) { print "a"; } Full coverage is only achieved here if $x is true on one occasion and false on another. 100% branch coverage implies 100% statement coverage. Branch coverage is also called decision or all edges coverage. 2.3 Path coverage There are classes of errors that branch coverage cannot detect, such as: $h = undef; if ($x) { $h = { a => 1 }; } if ($y) { print $h->{a}; } 100% branch coverage can be achieved by setting ($x, $y) to (1, 1) and then to (0, 0). But if we have (0, 1) then things go bang. The purpose of path coverage is to ensure that all paths through the program are taken. In any reasonably sized program there will be an enormous number of paths through the program and so in practice the paths can be limited to a single subroutine, if the subroutine is not too big, or simply to two consecutive branches. In the above example there are four paths which correspond to the truth table for $x and $y. To achieve 100% path coverage they must all be taken. Note that missing elses count as paths. In some cases it may be impossible to achieve 100% path coverage: a if $x; b; c if $x; 50% path coverage is the best you can get here. Loops also contribute to paths, and pose their own problems which I'll ignore for now. 100% path coverage implies 100% branch coverage. Path coverage and some of its close cousins, are also known as predicate, basis path and LCSAJ (Linear Code Sequence and Jump) coverage. 2.4 Expression coverage When a boolean expression is evaluated it can be useful to ensure that all the terms in the expression are exercised. For example: a if $x || $y The expression should be exercised with ($x, $y) set to (0, 0) (required for branch coverage), (0, 1) and (1, 0) (to ensure that $x and $y are independent) and possibly with (1, 1). Expression coverage gets complicated, and difficult to achieve, as the expression gets complicated. Expressions which are not directly a part of a branching construct should also be covered: $z = $x || $y; a if $z; Expression coverage is also known as condition, condition-decision and multiple decision coverage. 3.0 Other considerations In order to get people to actually use code coverage it needs to be simple to use. It should also be simple to understand the results and to rectify any problems thrown up. Finally, if the overhead is too great it won't get used either. So there's a basic tutorial on code coverage, or at least my version of it. Typing a few of these terms into google will probably provide a basis for future research. LICENCE
Copyright 2001-2013, Paul Johnson (paul@pjcj.net) This software is free. It is licensed under the same terms as Perl itself. The latest version of this software should be available from my homepage: http://www.pjcj.net perl v5.16.3 2013-05-20 Devel::Cover::Tutorial(3)
All times are GMT -4. The time now is 01:49 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy