Sponsored Content
Full Discussion: Expansion does not work
Top Forums Shell Programming and Scripting Expansion does not work Post 302862613 by AlbertGM on Friday 11th of October 2013 05:48:28 AM
Old 10-11-2013
Expansion does not work

Hi,
I'm trying to figure out whether some files exist. Locations of those file are stored in a plain text file called temp.txt in this way:
Quote:
$LIB_HOME/opensource/project/mpxj.jar
$LIB_HOME/opensource/project/jaxb-api.jar
$LIB_HOME/opensource/project/jaxb-impl.jar
$LIB_HOME/opensource/project/jsr173_1.0_api.jar
$LIB_HOME/infraestructura/stdinc/STDIncidencias.jar
$LIB_HOME/opensource/log4j/log4j-1.2.8.jar
$LIB_HOME/infraestructura/reu/reu.jar
$LIB_HOME/opensource/commons/commons_beanutils.jar
$LIB_HOME/opensource/commons/commons_codec.jar
$LIB_HOME/opensource/commons/commons_collections.jar
$LIB_HOME/opensource/commons/commons_logging.jar
$LIB_HOME/infraestructura/log4sm/log4sm-2.0.jar
$ORACLE_HOME/jdbc/lib/ojdbc5.jar
/apps/datos/intranet/lib61/was/com.ibm.ws.runtime_6.1.0.jar
$LIB_HOME/was/j2ee.jar
All environment variables ($LIB_HOME and $ORACLE_HOME) have been set using export command.
Then I do:
Code:
while read line; do [[ -f $line ]] && echo "OK ==> $line" || echo "KO ==> $line"; done < temp.txt

Output is:
Quote:
KO ==> $LIB_HOME/opensource/project/mpxj.jar
KO ==> $LIB_HOME/opensource/project/jaxb-api.jar
KO ==> $LIB_HOME/opensource/project/jaxb-impl.jar
KO ==> $LIB_HOME/opensource/project/jsr173_1.0_api.jar
KO ==> $LIB_HOME/infraestructura/stdinc/STDIncidencias.jar
KO ==> $LIB_HOME/opensource/log4j/log4j-1.2.8.jar
KO ==> $LIB_HOME/infraestructura/reu/reu.jar
KO ==> $LIB_HOME/opensource/commons/commons_beanutils.jar
KO ==> $LIB_HOME/opensource/commons/commons_codec.jar
KO ==> $LIB_HOME/opensource/commons/commons_collections.jar
KO ==> $LIB_HOME/opensource/commons/commons_logging.jar
KO ==> $LIB_HOME/infraestructura/log4sm/log4sm-2.0.jar
KO ==> $ORACLE_HOME/jdbc/lib/ojdbc5.jar
OK ==> /apps/datos/intranet/lib61/was/com.ibm.ws.runtime_6.1.0.jar
KO ==> $LIB_HOME/was/j2ee.jar
Nevertheless, if I type from command line
Code:
[coge5ast02].Ataxtxc1:/shared/apps/taxtxc > [[ -f $LIB_HOME/opensource/project/mpxj.jar ]] && echo "OK" || echo "KO"
OK

I get OK, as expected.
I don't understand why expansion of $LIB_HOME does not work when I read from file.

By the way, OS is Red Hat Enterprise Linux Server release 5.7 (x86_64), under bash shell.

Thanks a lot.
 

10 More Discussions You Might Find Interesting

1. AIX

AIX Expansion CD

Hey Anyone have a copy of the Expansion CD for the old 5.1 Version of AIX Thanks (0 Replies)
Discussion started by: almuwatta
0 Replies

2. Shell Programming and Scripting

~ expansion in printf

Hi, I have a script that at one point prints to a file as follows: printf -- $2 > ~/.mydir/$1 The idea is to print to a hidden directory .mydir in my home directory. I've already sanitized the inputs and $1 is in the format path1/path2/filename and $2 is some user input. When I run this... (2 Replies)
Discussion started by: Rledley
2 Replies

3. UNIX for Dummies Questions & Answers

sudo and expansion

Hi there, Can anyone explain me the following behavior? hfserver:~# ls -l /home/cronlogs/mysqldump* -rw-r--r-- 1 root root 10658464 2009-01-18 03:00 /home/cronlogs/mysqldump_20090118030002 -rw-r--r-- 1 root root 10651035 2009-01-19 03:00 /home/cronlogs/mysqldump_20090119030001 -rw-r--r-- 1... (4 Replies)
Discussion started by: chebarbudo
4 Replies

4. Shell Programming and Scripting

Need to print the expansion of the found string (the expansion is beween two delimiters '-' , '||'

Hi , could anyone help me out with this problem. sample.txt has this content : u001- this is used for project1 || u002- this is used for p2|| not to be printed u003- this is used for project3 || u004- this is used for p4 || u005- this is used for project5 || u006- this is used for p6... (9 Replies)
Discussion started by: Balaji PK
9 Replies

5. Shell Programming and Scripting

Need help with parameter expansion

Say you have this numeric variable that can be set by the user but you never want it to leave a certain range when it gets printed. How could you use parameter expansion such that it will never expand outside of that boundary? Thanks ---------- Post updated at 11:09 PM ---------- Previous update... (3 Replies)
Discussion started by: stevenswj
3 Replies

6. UNIX for Dummies Questions & Answers

Expansion within cp

I have a bunch of files which I need to transfer to another location... and some of these I need to skip. For e.g. let us say the files are: cust_abc.dat cust_xyz.dat cust_def.dat and I only want to move the first two. I want to do something like: cp cust_.dat <target> ... (1 Reply)
Discussion started by: jawsnnn
1 Replies

7. IP Networking

Discussion at work, would a router work pluging a cable in wan1 and lan1?

hi all. and sorry for the random question, but this sparkled a raging flame-war at work and i want more points of view situation a router, with linux of some sort, dhcp client requesting for ip in wan1 (as usual with wan ports) dhcp server listening in lan1, and assigning ip (as usual... (9 Replies)
Discussion started by: broli
9 Replies

8. Shell Programming and Scripting

Bash expansion

Hello. I cannot write a command without using eval. Any help is welcome Note 1 : What does the function SOMETHING has no importance. Note 2 : What does the command find has no importance. It is an expansion variable problem : where to put or or or anythings else What works (FILTRE_1... (8 Replies)
Discussion started by: jcdole
8 Replies

9. Shell Programming and Scripting

Tilde expansion

(Using Bash 4.4) When I write something like dir="~/dox" ls $dir then I get the message that the directory '~/docs' does not exist. I understand that the tilde is not expanded at the time of the above assignment because of the quotes. But why is it not expanded at the time when the ls command is... (2 Replies)
Discussion started by: Ralph
2 Replies

10. Shell Programming and Scripting

Use parameter expansion over a parameter expansion in bash.

Hello All, Could you please do help me here as I would like to perform parameter expansion in shell over a parameter expansion. Let's say I have following variable. path="/var/talend/nat/cdc" Now to get only nat I could do following. path1="${path%/*}" path1="${path1##*/}" Here... (8 Replies)
Discussion started by: RavinderSingh13
8 Replies
smccompile(1M)						  System Administration Commands					    smccompile(1M)

NAME
smccompile - build class list and compile Solaris Management Console service beans for remote use SYNOPSIS
/usr/sadm/bin/smccompile -c beanname /usr/sadm/bin/smccompile -j tool | service [-n altjarname] jarfile /usr/sadm/bin/smccompile -j library [-n altjarname] ALLTOOL | ALLSERVICE | ALL | attachedBeanname jarfile DESCRIPTION
The smccompile command is used by developers of tools, services, and libraries for the Solaris Management Console. For information regard- ing the Solaris Management Console, see smc(1M). smccompile compiles service class files given by the bean name for use with the Solaris Management Console. This step builds the extra proxy and stub classes for services to be used with Solaris Management Console tools. Solaris Management Console requires running smccom- pile -c before creating service jar files, and smccompile -j after creating tool, service, and library jars. smccompile, in conjunction with smcregister(1M), is intended to replace the smcconf command as the preferred interface for managing the Solaris Management Console repository as well as toolboxes from within scripts, due to significant performance enhancements over smcconf. OPTIONS
The following options are supported: ALL Specify that the library being registered to or unregistered from the repository is for use by all tools and services. ALLSERVICE Specify that the library being registered to or unregistered from the repository is for use by all services. ALLTOOL Specify that the library being registered to or unregistered from the repository is for use by all tools. attachedBeaname Specify the name of a registered jar to which the library jarfile should be attached to (or detached from). This is typi- cally the same as altjarname (if provided) or jarfile used to register the jar to which this library is being attached or detached. An attached library means the library is only available for use by the tool or service to which it is being attached. beanname The full package path of the bean name to be compiled. An example bean name is: com.mycompany.myproduct.MyService. -c Compile and build service class files for the specified bean name. This step builds the extra proxy and stub classes for services to be used with Solaris Management Console tools. You must run smccompile with this option before creating service type jar files. -j Build a list of classes in text format, suitable as input to smcregister for registration with the Solaris Management Con- sole repository. The output is written to standard out and should be redirected to a file. You must run smccompile with this option after creating any tool, service, or library jar. jarfile Specify the full path to the jar file to be registered. The name must be in the form beanname.jar, where beanname is the package path to the bean. If it is not, an alternate name must be given in that form using the -n option. -n altjarname Rename the jarfile in the repository to altjarname. Typically. this is the full bean name. For example, if the jarfile was MyTool.jar, then altjarname might be com.mycompany.myproduct.MyTool.jar. It is recommended that an altjarname containing the full package path be used. You must use this same name when registering the jar with smcregister. EXAMPLES
Example 1: Compiling a Service The following command takes a Solaris Management Console service and builds its proxy and stub classes to make the service usable by Solaris Management Console tools: /usr/sadm/bin/smccompile -c com.mycompany.myproject.MyServiceImpl Example 2: Building a Class List for a Service The following command builds the class list file (classlist.txt) for a service suitable for use with the smcregister(1M) command: /usr/sadm/bin/smccompile -j service -n com.mycompany.myproject.MyServiceImpl.jar ${HOME}/workarea/MyServiceImpl.jar > classlist.txt The following command does the same thing without specifying an alternate name: /usr/sadm/bin/smccompile -j service ${HOME}/workarea/com.mycompany.myproject.MyServiceImpl.jar > classlist.txt Example 3: Building a Class List for a Tool The following command builds the class list file (classlist.txt) for a tool suitable for use with the smcregister(1M) command: /usr/sadm/bin/smccompile -j tool -n com.mycompany.myproject.MyTool.jar ${HOME}/workarea/MyTool.jar > classlist.txt The following command does the same thing without specifying an alternate name: /usr/sadm/bin/smccompile -j tool ${HOME}/workarea/com.mycompany.myproject.MyTool.jar > classlist.txt Example 4: Building a Class List for a Library Attached to All Tools The following command builds the class list file (classlist.txt) for a library suitable for use with the smcregister(1M) command, and is attached to all tools: /usr/sadm/bin/smccompile -j library -n com.mycompany.myproject.MyLibrary.jar ALLTOOL ${HOME}/workarea/MyLibrary.jar > classlist.txt The following command does the same thing without specifying an alternate name: /usr/sadm/bin/smccompile -j library ALLTOOL ${HOME}/workarea/com.mycompany.myproject.MyLibrary.jar > classlist.txt Example 5: Building a Class List for a Library Attached to a Specific Tool The following command builds the class list file (classlist.txt) for a library suitable for use with the smcregister(1M) command, and is attached to a specific tool: /usr/sadm/bin/smccompile -j library -n com.mycompany.myproject.MyLibrary.jar com.mycompany.myproject.MyTool.jar ${HOME}/workarea/MyLibrary.jar > classlist.txt The following command does the same thing without specifying an alternate name: /usr/sadm/bin/smccompile -j library com.mycompany.myproject.MyTool.jar ${HOME}/workarea/com.mycompany.myproject.MyLibrary.jar > classlist.txt ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of smccompile: JAVA_HOME If you do not specify this environment variable, your PATH is searched for a suitable java. Otherwise, the /usr/j2se location is used. EXIT STATUS
The following exit values are returned: 0 Successful completion. 1 An error occurred. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWMc | +-----------------------------+-----------------------------+ SEE ALSO
smc(1M), smcconf(1M), smcregister(1M), attributes(5), environ(5) NOTES
All standard shell quoting rules apply. SunOS 5.10 17 Jul 2001 smccompile(1M)
All times are GMT -4. The time now is 04:36 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy