Sponsored Content
Top Forums Shell Programming and Scripting expanding dotted paths to absolute ones in bash or sh Post 77837 by TanRanger on Wednesday 13th of July 2005 08:59:34 AM
Old 07-13-2005
Thanks, Pixelbeat. I'm new to *nix but I gather "realpath" is standard equipment so I assume this should still be portable. I try to stay in the habit of writing portable code whenever I have the luxury (or whenever I'm getting paid by the hour Smilie).

I condensed your two lines into one and it has shortened my code by quite a few lines. Just in time, too, as I notice I was a little sloppy in my handling of error conditions. If only all of the users could be counted on to know what I had in mind.
 

10 More Discussions You Might Find Interesting

1. Post Here to Contact Site Administrators and Moderators

Dotted thread icons

Can you guys please enable the "dotted" icon option, so that the thread icon for a thread in which a user has posted in will appear with a dot in it? Thanks, Aaron (2 Replies)
Discussion started by: Spetnik
2 Replies

2. AIX

Is there a way to list all the functions dotted in to the env?

Hi People, Please advise if there is a command to retrieve the list of functions (user-defined) available at any certain point? Cheers (1 Reply)
Discussion started by: easwam
1 Replies

3. UNIX for Dummies Questions & Answers

Expanding variables with Ed Bash 3.2.33

Hi, The following code finds the line containing fruits in test.txt and replaces instances of apple with banana. ed -s test.txt <<< $'/fruits/s/apple/banana/g\nw' What I want to do is put variables in the place of fruits, apple and banana. I have tried replacing ' with " to get... (2 Replies)
Discussion started by: de_la_espada
2 Replies

4. UNIX for Dummies Questions & Answers

Absolute and Relative Paths?

Can someone cofirm that I have got the paths correct here? :confused: $PATH_TO_TMP_DIR='/tmp'; #$PATH_TO_TMP_DIR='home/tmp'; $PATH_TO_YOUR_IMG_DIR = '/temp_images'; #$PATH_TO_YOUR_IMG_DIR = 'home/public_html/Midwich/temp_images'; Thanks (1 Reply)
Discussion started by: stubie
1 Replies

5. Shell Programming and Scripting

how to remove absolute paths from zip archive

Hi, I need to write an bash script which works like it can copy files from remote machine through ssh to the server where script is running in zip format with the structure i want. I don't want to get absolute path in zip archive. Please let me know how it can be possible. ssh... (4 Replies)
Discussion started by: mirfan
4 Replies

6. Solaris

exclude absolute paths when extracting Tar file?

Hi, How do I extract data from TAR excluding absolute paths for Tar? (Solaris) Thanks (3 Replies)
Discussion started by: zam
3 Replies

7. Shell Programming and Scripting

Is it possible to change paths inside a bash script?

i have some script with some paths inside it. The idea is to some files which is on desktop copy and move to another location. Problem is that inside script is similar to this: cp test1.zip /root/help/ because I allways have another zip files, does it possible to have some input which ask me... (18 Replies)
Discussion started by: tomislav91
18 Replies

8. Shell Programming and Scripting

Show only the filenames under a directory without relative and absolute paths.

I am able to list all the filenames under a directory & its sub-directories except blent.tar on Linux find "/tmp/" -type f | grep -v blent.tar | rev | cut -d '/' -f1 | rev Desired Output: THIRDPARTYLICENSEREADME.txt javaws libjavaplugin_oji.so libjavaplugin_oji.so... (3 Replies)
Discussion started by: mohtashims
3 Replies

9. UNIX for Beginners Questions & Answers

Bash argument not expanding in script

I pass an argument to bash as run. The first command in green executes as expected, however the second in blue fails as the $run does not expand. I tried to escape the variable with \ thinking the quotes were making the literal translation and also "${run}" but both did not work to expand the... (3 Replies)
Discussion started by: cmccabe
3 Replies

10. UNIX for Beginners Questions & Answers

[BASH] eval command not expanding variables as expected.

Hi Guys, I wrote a collection of bash functions years ago and now need to use them again but I'm getting some error messages when eval tries to expand the variables names. I recollect that I used the shopt command to set one of the options but I can't quite remember the command that I... (8 Replies)
Discussion started by: ASGR
8 Replies
REALPATH(3)						   BSD Library Functions Manual 					       REALPATH(3)

NAME
realpath -- returns the canonicalized absolute pathname SYNOPSIS
#include <stdlib.h> char * realpath(const char *restrict file_name, char *restrict resolved_name); DESCRIPTION
The realpath() function resolves all symbolic links, extra ``/'' characters, and references to /./ and /../ in file_name. If the resolved_name argument is non-NULL, the resulting absolute pathname is copied there (it must refer to a buffer capable of storing at least PATH_MAX characters). As a permitted extension to the standard, if resolved_name is NULL, memory is allocated for the resulting absolute pathname, and is returned by realpath(). This memory should be freed by a call to free(3) when no longer needed. The realpath() function will resolve both absolute and relative paths and return the absolute pathname corresponding to file_name. All com- ponents of file_name must exist when realpath() is called. RETURN VALUES
On success, the realpath() function returns the address of the resulting absolute pathname, which is resolved_name if it was non-NULL, or the address of newly allocated memory. If an error occurs, realpath() returns NULL. If resolved_name was non-NULL, it will contain the pathname which caused the problem. VARIANTS
Defining _DARWIN_C_SOURCE or _DARWIN_BETTER_REALPATH before including stdio.h will cause the provided implementation of realpath() to use F_GETPATH from fcntl(2) to discover the path. ERRORS
The function realpath() may fail and set the external variable errno for any of the errors specified for the library functions alloca(3), getattrlist(2), getcwd(3), lstat(2), readlink(2), stat(2), and strdup(3). LEGACY SYNOPSIS
#include <sys/param.h> #include <stdlib.h> The include file <sys/param.h> is necessary. LEGACY DESCRIPTION
In legacy mode, the last component of file_name does not need to exist when realpath() is called. SEE ALSO
free(3), getcwd(3), compat(5) HISTORY
The realpath() function first appeared in 4.4BSD. BSD
April 5, 2008 BSD
All times are GMT -4. The time now is 06:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy