Sponsored Content
Full Discussion: Bad Substitution
Top Forums Shell Programming and Scripting Bad Substitution Post 302106273 by D_Redd74 on Wednesday 7th of February 2007 02:27:26 PM
Old 02-07-2007
Question Bad Substitution

Need Help... I am getting a bad substitution error on my script on a Solaris Server. However the script has been proven to work on HPUX and Solaris servers...


#!/usr/bin/sh
#
# Set the location of the tzupdater.jar file
#
JAR=/tmp/tzupdater.jar # <<<<< UPDATE THIS LINE >>>>>
#
# Clear out log files if they exist

if [[ -f /tmp/${0##*/}.all_javas ]]; then
rm -f /tmp/${0##*/}.all_javas
fi
if [[ -f /tmp/${0##*/}.old_javas ]]; then
rm -f /tmp/${0##*/}.old_javas
fi
if [[ -f /tmp/${0##*/}.cur_javas ]]; then
rm -f /tmp/${0##*/}.cur_javas
fi

# Find all the files named java on the system
# and save the list in a log of all java files
find / -fstype nfs -prune -o -fstype autofs -prune -o -name java -type f -print -o -name java -type l -print | tee /tmp/${0##*/}.all_javas | \
while read JAVA; do
exec 2>/dev/null # Ignore error messages
$JAVA -version >/dev/null 2>/dev/null # Check how java responds
if (( $? == 0 )); then # If RC=0, it is vaid
# Find out the version of Java this is
VERSION=$($JAVA -version 2>&1 | awk 'NR==1 {print substr($3,4,1)}')
if (( $VERSION > 3 )); then
# If the version is greater than 1.3, go ahead and update it
print "$($JAVA -version 2>&1 | awk 'NR==1 {print $3}')\t$JAVA" >> /tmp/${0##*/}.cur_javas # Save list of current Javas
# Check whether this java has been updated or not
$JAVA -jar $JAR -t >/dev/null 2>&1
if (( $? > 0 )); then # If not updated, update it
print "Updating $JAVA"
$JAVA -jar $JAR -u
else # Otherwise, print a message already updated
print "$JAVA already updated"
fi
else # This cmd is an old version of Java
print "$($JAVA -version 2>&1 | awk 'NR==1 {print $3}')\t$JAVA" >> /tmp/${0##*/}.old_javas # Save list of old Javas
fi
fi
done
#
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Array reference - bad substitution

I've created a series of arrays named as follows: row1 row2 row3 . . . row10 Each has 4 elements. I'm trying to echo the array elements out in a for loop. Here's what I have: for ((i=1;i<=10;i++)) do for ((j=1;j<=4;j++)) do eval out=${row`echo $i`} echo -n $out (3 Replies)
Discussion started by: swankgd
3 Replies

2. Shell Programming and Scripting

bad substitution error in ksh

hi, i created a shell script having the following content: #! /usr/bin/ksh FROM="myemail@domain.com" MAILTO="someemail@domain" SUBJECT="TEST" BODY="/export/home/adshocker/body.txt" ATTACH="/export/home/adshocker/attach.prog" echo $ATTACH ATTACH_NAME="${ATTACH##*/}" echo $ATTACH_NAME... (5 Replies)
Discussion started by: adshocker
5 Replies

3. Shell Programming and Scripting

bad substitution error in ksh

Hello, In bash I can use the following: TMP=12345 MID=${TMP:1:1} the expected result is: 2 but when using KSH I'm getting a ''bad substitution" error. What is the correct syntaxin ksh? Thanks (2 Replies)
Discussion started by: LiorAmitai
2 Replies

4. UNIX for Dummies Questions & Answers

bad substitution

#!/bin/bash a1=( win 12,01,02,03,04 ) a2=( pre 04,05,06 ) a3=( msn 06,07,08,09 ) Given the above arrays, I want the script to return/echo the following in a loop; win 12,01,02,03,04 pre 04,05,06,07 msn 06,07,08,09 But I can't get it to do as such. I've tried; (2 Replies)
Discussion started by: Muhammad Rahiz
2 Replies

5. Shell Programming and Scripting

bad substitution error!

Hi All, I'm building a new shell script but i'm facing a problem with one line which is giving "bad substitution" error. Please assist script lines: #!/bin/sh printf "%s: " "Occurrence DATE (YYYYMMDD)"; read DATE shortdate=${DATE#??} o/p: ./test1: bad substitution This command is... (2 Replies)
Discussion started by: Dendany83
2 Replies

6. Programming

Make: Bad Substitution

Hi, I have a make file which I try to execute, but it failed when it arrived to the line: for r in ${PIPESTATUS }; do if (($r != 0)); then exit $r; fi;done; With the Error: ""make:/bin/sh: Bad substitution"" Or the Error: "make:${PIPESTATUS[...}: Bad substitution" (Depend on the operating... (3 Replies)
Discussion started by: nadne
3 Replies

7. Shell Programming and Scripting

Why I get bad bad substitution when using eval?

Why I get bad replace when using eval? $ map0=( "0" "0000" "0") $ i=0 $ eval echo \${map$i} 0000 $ a=`eval echo \${map$i}` !!!error happens!!! bash: ${map$i}: bad substitution How to resolve it ? Thanks! (5 Replies)
Discussion started by: 915086731
5 Replies

8. Shell Programming and Scripting

Bad substitution

Cant undestand :) why i have an error on line 2.it is working on my other boxes #!/bin/bash ret=$(echo Q | timeout 5 openssl s_client connect "${1`hostname`}:${2-443}" -ssl3 2> /dev/null) if echo "${ret}" | grep -q 'Protocol.*SSLv3'; then if echo "${ret}" | grep -q 'Cipher.*0000'; then ... (7 Replies)
Discussion started by: kenshinhimura
7 Replies

9. UNIX for Beginners Questions & Answers

Bad substitution issues.. but why?

i am trying to prepare a train and test dataset, for which i need to randomly split the data into corresponding folders (train,test).. I began on a simple script, but seem to get som weird error messages, that i cannot make sense of?.. what am I doing wrong? #!/bin/bash RED='\033] then... (13 Replies)
Discussion started by: kidi
13 Replies

10. Shell Programming and Scripting

Bad substitution - ShellCheck says okay

ShellCheck doesn't find any issues with this script. #!/bin/bash # color_meanings: explain meanings of colors used in bash ls eval "$(echo "no:fi:di:ln:pi:so:do:bd:cd:or:mi:su:sg:tw:st:ex" | sed -e 's/:/=/g; s/\;/\n/g')" { IFS=: for i in $LS_COLORS do ... (18 Replies)
Discussion started by: Xubuntu56
18 Replies
MAVEN(1)							   User Commands							  MAVEN(1)

NAME
Maven - Creates a link in /usr/share/maven-repo for an existing jar. SYNOPSIS
mh_linkjar [option]... [pom] [dest_jar] [link]... DESCRIPTION
Create symlinks for a jar installed by other means. The symlinks created include links to the jar in /usr/share/maven-repo, at the correct location for Maven. It can also create additional links to the jar, usually located in /usr/share/java. Where [pom] is the location of the POM associated with the jar to install. GroupId, artifactId and version will be extracted from this file. [dest_jar] is the path of the installed jar, usually located in the usr/share/java folder. [link] is an additional link to the jar to install, usually there should be a link to usr/share/java/$jar.jar and usr/share/java/$jar-$version.jar to comply with the Java packaging guidelines. Note that there is no need to specify those particular links if the --java-lib option is used. OPTIONS
-h --help: show this text -V --version: show the version -p<package> --package=<package>: name of the Debian package which will contain this jar file -e<version>, --set-version=<version>: set the version for the jar, do not use the version declared in the POM file. -r<rules> --rules=<rules>: path to the file containing the rules to apply when cleaning the POM. Optional, the default location is debian/maven.rules Maven rules are used here to extract the groupId, artifactId and version from the POM file. -l --java-lib: Optional, if given it will install the jar into /usr/share/java to comply with the Debian Java specification. The jar will be installed as /usr/share/java/$name-$version.jar and a versionless link /usr/share/java/$name.jar will point to it, as well as the links installed in /usr/share/maven-repo -n<name> --usj-name=<name>: Optional, the name to use when installing the library in /usr/share/java when --java-lib is used. Defaults to the artifact id found in the POM. -j<version> --usj-version=<version>: Optional, the version to use when installing the library in /usr/share/java when --java-lib is used. Defaults to the version found in the POM. -s --no-usj-versionless: Optional, don't install the versionless link in /usr/share/java. This flag is used only when the -l or --java-lib option is given. -c<classifier> --classifier=<classifier>: Optional, the classifier for the jar. Empty by default. -v --verbose: show more information while running -n --no-act: don't actually do anything, just print the results --skip-clean-pom: don't clean the pom, assume that a previous action ran mh_cleanpom with the correct options. mh_cleanpom is run only to extract the groupId, artifactId and version of the jar Maven Repo Helper version 1.7.1 January 2012 MAVEN(1)
All times are GMT -4. The time now is 04:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy