10-27-2008
How to create file on Linux using environment variable in the dirpath
Hi all,
I am running a Java program on a Linux server in which I read in a base directory path from the *.properties file. During processing, I build a unique file name and create a file to save data, concatenating the directory path and the file name. Works fine, except that I now need to modify this code to accept an environment variable as part of the directory path (previously it was uniquely specified). I've experimented with various ways of quoting - no luck. I'm sure there's a simple syntax to permit this, but so far I've been unable to find it.
File creation statement looks like this:
File uploadFile = new File(baseDir + newFileName);
where baseDir has been read in from the properties file and is equal to
$MYFILEDIR/reports/
The file creation is failing.
Can anyone tell me what syntax can I use in the input that would allow me to create the file in the expected directory? Thanks so much.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
I have say two programs
File1:
echo Enter A's Value
read A
export A
File2:
while
do
echo $A
sleep 5
done (1 Reply)
Discussion started by: pbsrinivas
1 Replies
2. IP Networking
could anyone Explain me with how the linux o/s keeps track of file
updates in network environment? for example, assume that more than one
computer is connected to network (with linux in all of them). if an
user say 'X' logged into terminal 1 and created a file with the name
of 'temp.txt'. The... (1 Reply)
Discussion started by: pjchoudary
1 Replies
3. Filesystems, Disks and Memory
could anyone Explain me with how the linux o/s keeps track of file
updates in network environment? for example, assume that more than one
computer is connected to network (with linux in all of them). if an
user say 'X' logged into terminal 1 and created a file with the name
of 'temp.txt'. The... (1 Reply)
Discussion started by: pjchoudary
1 Replies
4. Shell Programming and Scripting
I've searched Google and now this forum. Best guess is my search fu is not good (and it probably isn't). The Google search did bring me here.
Background
I have a number of Korn Shell scripts who all use one of 3 values for an environment variable used in the backup system.
On occasion one or... (8 Replies)
Discussion started by: WolfBrother
8 Replies
5. Shell Programming and Scripting
Hi,
i have the following env variable. currently i am exporting variable in the same script file. but i need this is in a text file and the scripts need to export this variable from the text file.
can you please suggest me. is it possible.
export... (6 Replies)
Discussion started by: rsivasan
6 Replies
6. Shell Programming and Scripting
I'm trying to make a sed substitution where the substitution pattern is an environment variable to be expanded, but the variable contains a "slash".
sed -e 's/<HOME_DIRECTORY>/'$HOME'/'This gives me the following error:
sed: -e expression #1, char 21: unknown option to `s'Obviously this is... (2 Replies)
Discussion started by: Ilja
2 Replies
7. UNIX for Dummies Questions & Answers
I want to set a enviroment variable
VDC_DIR to a particular directory.
I am doing it as
export VDC_DIR=/abc
it gets set but when i logout and do relogin than its not there.
one way could be setting it in .profile file.
but i have seen it on another box where it is not present in... (2 Replies)
Discussion started by: Jcpratap
2 Replies
8. Shell Programming and Scripting
Hi,
I an having some environment variables exported and the variable name is present in the file. But its not resolving with following commands. Can someone throw some light.
db $ grep -v "^#" TD_FWK_NUCLEUS.dbc | grep -v "^$" | xargs -i echo {}
wb_bin: ${TD_FWK_NUCLEUS_DBC_WB_BIN_TAG}
I... (3 Replies)
Discussion started by: Mohammed Rafi
3 Replies
9. Shell Programming and Scripting
Hi,
I meet an problem that it cannot change Terminal environment variable in a perl or bash script.
This change can only exist and become effective in script lifetime.
But I want to make this change take effect in current opened Terminal.
In our view, the thought seems to be impossible,
As... (9 Replies)
Discussion started by: weichanghe2000
9 Replies
10. UNIX for Dummies Questions & Answers
I know that I can do this in bash
ver=${VERSION:-$DEFVERSION}
so ver is $VERSION if it's set but $DEFVERSION if $VERSION isn't set
I want to do the same thing as a macro in a Makefile and can't get it to work - maybe something like...
VER=$(shell ${$(VERSION):-$(DEFVERSION)})
Any help... (1 Reply)
Discussion started by: JerryHone
1 Replies
LEARN ABOUT REDHAT
file::spec::win32
File::Spec::Win32(3pm) Perl Programmers Reference Guide File::Spec::Win32(3pm)
NAME
File::Spec::Win32 - methods for Win32 file specs
SYNOPSIS
require File::Spec::Win32; # Done internally by File::Spec if needed
DESCRIPTION
See File::Spec::Unix for a documentation of the methods provided there. This package overrides the implementation of these methods, not the
semantics.
devnull
Returns a string representation of the null device.
tmpdir
Returns a string representation of the first existing directory from the following list:
$ENV{TMPDIR}
$ENV{TEMP}
$ENV{TMP}
SYS:/temp
C:/temp
/tmp
/
The SYS:/temp is preferred in Novell NetWare.
Since Perl 5.8.0, if running under taint mode, and if the environment variables are tainted, they are not used.
catfile
Concatenate one or more directory names and a filename to form a complete path ending with a filename
canonpath
No physical check on the filesystem, but a logical cleanup of a path. On UNIX eliminated successive slashes and successive "/.". On
Win32 makes
dir1dir2dir3....dir4 -> dirdir4 and even
dir1dir2dir3...dir4 -> dirdir4
splitpath
($volume,$directories,$file) = File::Spec->splitpath( $path );
($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
Splits a path in to volume, directory, and filename portions. Assumes that the last file is a path unless the path ends in '\', '\.',
'\..' or $no_file is true. On Win32 this means that $no_file true makes this return ( $volume, $path, undef ).
Separators accepted are and /.
Volumes can be drive letters or UNC sharenames (\servershare).
The results can be passed to "catpath" to get back a path equivalent to (usually identical to) the original path.
splitdir
The opposite of catdir().
@dirs = File::Spec->splitdir( $directories );
$directories must be only the directory portion of the path on systems that have the concept of a volume or that have path syntax that
differentiates files from directories.
Unlike just splitting the directories on the separator, leading empty and trailing directory entries can be returned, because these are
significant on some OSs. So,
File::Spec->splitdir( "/a/b/c" );
Yields:
( '', 'a', 'b', '', 'c', '' )
catpath
Takes volume, directory and file portions and returns an entire path. Under Unix, $volume is ignored, and this is just like catfile().
On other OSs, the $volume become significant.
Note For File::Spec::Win32 Maintainers
Novell NetWare inherits its File::Spec behaviour from File::Spec::Win32.
SEE ALSO
File::Spec
perl v5.8.0 2002-06-01 File::Spec::Win32(3pm)