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
sysdir(3)						   BSD Library Functions Manual 						 sysdir(3)

NAME
sysdir_start_search_path_enumeration, sysdir_get_next_search_path_enumeration -- Enumeration of the filesystem paths for the various standard system directories where apps, resources, etc. get installed. SYNOPSIS
#include <sysdir.h> sysdir_search_path_enumeration_state sysdir_start_search_path_enumeration(sysdir_search_path_directory_t dir, sysdir_search_path_domain_mask_t domainMask); sysdir_search_path_enumeration_state sysdir_get_next_search_path_enumeration(sysdir_search_path_enumeration_state state, char *path); DESCRIPTION
The sysdir API returns the various standard system directories where apps, resources, etc. get installed. Because queries can return multiple directories, the API is in the form of an enumeration. The directories are returned in search path order: that is, the first place to look is returned first. sysdir_start_search_path_enumeration() begins enumeration of the filesystem paths for the specified directory and domain(s). The return value should be passed to one or more calls to sysdir_get_next_search_path_enumeration() to obtain the filesystem path and continue the enu- meration. sysdir_get_next_search_path_enumeration() returns a filesystem path for the directory and domain(s) specified by the state value returned by sysdir_start_search_path_enumeration(). Subsequent calls to sysdir_get_next_search_path_enumeration() should pass the state value returned by the previous call to continue the enumeration in each domain. A state value of zero will be returned when all domains have been enumer- ated. The path buffer that is passed to sysdir_get_next_search_path_enumeration() will be filled with a null-terminated string, possibly containing as many as PATH_MAX-1 characters. Some directory paths returned may not exist on the filesystem. Some combinations of dir and domainMask may return no directory paths. Directory paths returned in the user domain will contain "~" to refer to the user's directory. The environment variable NEXT_ROOT is prepended as necessary to the returned directory paths. NEXT_ROOT is ignored if the process is setuid or is code signed with entitlements. DIRECTORY CONSTANTS
The following sysdir_search_path_directory constants are defined: SYSDIR_DIRECTORY_APPLICATION Supported applications (Applications) SYSDIR_DIRECTORY_DEMO_APPLICATION Unsupported applications and demonstration versions (Applications/Demos) SYSDIR_DIRECTORY_DEVELOPER_APPLICATION Developer applications (Developer/Applications) Deprecated: As of Xcode 4.3, there is no longer a Developer Application directory directory; instead, Xcode.app is a self-contained application that gets installed in the user's Applications directory, by default, although it can be put anywhere. SYSDIR_DIRECTORY_ADMIN_APPLICATION System and network administration applications (Applications/Utilities) SYSDIR_DIRECTORY_LIBRARY Various user-visible documentation, support, and configuration files, resources (Library) SYSDIR_DIRECTORY_DEVELOPER Developer resources (Developer) Deprecated: As of Xcode 4.3, there is no longer a Developer directory; instead, Xcode.app is a self-contained application that gets installed in the user's Applications directory, by default, although it can be put anywhere. SYSDIR_DIRECTORY_USER User home directories (Users) SYSDIR_DIRECTORY_DOCUMENTATION Location of documentation (Library/Documentation) SYSDIR_DIRECTORY_DOCUMENT Location of documents (Documents) SYSDIR_DIRECTORY_CORESERVICE Location of core services (Library/CoreServices) SYSDIR_DIRECTORY_AUTOSAVED_INFORMATION Location of user's autosaved documents (Library/Autosave Information) SYSDIR_DIRECTORY_DESKTOP Location of user's desktop directory (Desktop) SYSDIR_DIRECTORY_CACHES Location of discardable cache files (Library/Caches) SYSDIR_DIRECTORY_APPLICATION_SUPPORT Location of application support files (Library/Application Support) SYSDIR_DIRECTORY_DOWNLOADS Location of user's downloads directory (Downloads) SYSDIR_DIRECTORY_INPUT_METHODS Location of input methods (Library/Input Methods) SYSDIR_DIRECTORY_MOVIES Location of user's Movies directory (Movies) SYSDIR_DIRECTORY_MUSIC Location of user's Music directory (Music) SYSDIR_DIRECTORY_PICTURES Location of user's Pictures directory (Pictures) SYSDIR_DIRECTORY_PRINTER_DESCRIPTION Location of system's PPDs directory (Library/Printers/PPDs) SYSDIR_DIRECTORY_SHARED_PUBLIC Location of user's Public sharing directory (Public) SYSDIR_DIRECTORY_PREFERENCE_PANES Location of the PreferencePanes directory for use with System Preferences (Library/PreferencePanes) SYSDIR_DIRECTORY_ALL_APPLICATIONS All directories where applications can occur (/Applications, ~/Applications, /Applications/Utilities, etc) SYSDIR_DIRECTORY_ALL_LIBRARIES All directories where resources can occur (/Library, ~/Library, /Network/Library, etc) DOMAIN CONSTANTS
The following sysdir_search_path_domain_mask constants are defined: SYSDIR_DOMAIN_MASK_USER The user's home directory -- the place to install user's personal items (~) SYSDIR_DOMAIN_MASK_LOCAL Local to the current machine -- the place to install items available to everyone on this machine SYSDIR_DOMAIN_MASK_NETWORK Publically available location in the local area network -- the place to install items available on the net- work SYSDIR_DOMAIN_MASK_SYSTEM Provided by Apple -- can't be modified SYSDIR_DOMAIN_MASK_ALL All domains -- all of the above and future domains ENVIRONMENT
The following environment variable affects the execution of sysdir_get_next_search_path_enumeration: NEXT_ROOT If the NEXT_ROOT environment variable is set and the current process is not tainted by uid or gid changes, NEXT_ROOT is prepended as necessary to the returned directory paths. NEXT_ROOT is ignored if the process is setuid or is code signed with entitlements. EXAMPLES
#include <limits.h> #include <sysdir.h> char path[PATH_MAX]; sysdir_search_path_enumeration_state state = sysdir_start_search_path_enumeration(dir, domainMask); while ( (state = sysdir_get_next_search_path_enumeration(state, path)) != 0 ) { // Handle directory path } HISTORY
The sysdir API first appeared in OS X 10.12, iOS 10, watchOS 3 and tvOS 10 replacing the deprecated NSSystemDirectories(3) API. Darwin December 22, 2015 Darwin
All times are GMT -4. The time now is 09:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy