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
build(1) General Commands Manual build(1)
NAME
build - build SuSE Linux RPMs in a chroot environment
SYNOPSIS
build [--clean|--no-init] [--rpms path1:path2:...] [--arch arch1:arch2:...] [--root buildroot] [specfile|srcrpm]
build --help
build --verify
DESCRIPTION
build is a tool to build SuSE Linux RPMs in a safe and clean way. build will install a minimal SuSE Linux as build system into some direc-
tory and will chroot to this system to compile the package. This way you don't risk to corrupt your working system (due to a broken spec
file for example), even if the package does not use BuildRoot.
build searches the spec file for a BuildRequires: line; if such a line is found, all the specified rpms are installed. Otherwise a selec-
tion of default packages are used. Note that build doesn't automatically resolve missing dependencies, so the specified rpms have to be
sufficient for the build.
If a spec file is specified on the command line, build will use this file and all other files in the directory for building the package. If
a srcrpm is specified, build automatically unpacks it for the build. If neither is given, build will use all the specfiles in the current
directory.
OPTIONS
--clean
remove the build system and reinitialize it from scratch.
--no-init
skip the build system initialization and start with build immediately.
--list-state
list rpms that would be used to create a fresh build root. Does not create the build root or perform a build.
--rpms path1:path2:path3...
Where build can find the SuSE Linux RPMs needed to create the build system. This option overrides the BUILD_RPMS environment vari-
able.
--arch arch1:arch2:arch3...
What architectures to select from the RPMs. build automatically sets this to a sensible value for your host if you don't specify
this option.
--root buildroot
Specifies where the build system is set up. Overrides the BUILD_ROOT enviroment variable.
--useusedforbuild
Tell build not to do dependency expansion, but to extract the list of packages to install from "# usedforbuild" lines or, if none
are found, from all "BuildRequires" lines. This option is useful if you want to re-build a package from a srcrpm with exactly the
same packages used for the srcrpm build.
--norootforbuild
--help Print a short help text.
--verify
verify the files in an existing build system.
.spec FILE OPTIONS
The build command interprets some special control comments in the specfile:
# norootforbuild
# needsrootforbuild
build uses either user root or user abuild in the build system to do the build. For non-SUSE distros as well as since SUSE 10.2,
the default build user is abuild. For 10.2 and before, the default build user is root. These two flags in the spec file allow to
deviate from the defaults and force-set the build user to abuild and root (for # norootforbuild and # needsrootforbuild respec-
tively.
# needsbinariesforbuild
provide the binary rpms that have been used to set up the build root in /.build.binaries within the build root.
ENVIRONMENT
BUILD_ROOT
The directory where build should install the chrooted build system. "/var/tmp/build-root" is used by default.
BUILD_RPMS
Where build can find the SuSE Linux RPMs. build needs them to create the build system. "/media/dvd/suse" is the default value
which will do the trick if you have the SuSE Linux DVD mounted.
BUILD_RPM_BUILD_STAGE
The rpm build stage (-ba, -bb, ...). This is just passed through to rpm, check the rpm manpage for a complete list and descrip-
tions. "-ba" is the default. You can use this to add more options to RPM.
SEE ALSO
rpm(1),
Maximum RPM:
http://www.rpm.org/max-rpm/
cross distribution packaging:
http://en.opensuse.org/Build_Service/cross_distribution_package_how_to
SUSE packaging standards and guidelines:
http://en.opensuse.org/Packaging
(c) 1997-2008 SuSE Linux AG Nuernberg, Germany build(1)