v1.1 = Improved search for Existing App Bundles

+ Changed up the while loop App existence check, as previously couldn't properly report "No versions found"
 + Updated method used to aquire App Bundle Version
This commit is contained in:
Zack T
2018-01-30 17:04:51 -07:00
parent 7cc1a5ca51
commit b2de3f48af

View File

@@ -3,7 +3,7 @@
###################################################################################################
# Script Name: license_Matlab.sh
# By: Zack Thompson / Created: 1/10/2018
# Version: 1.0.1 / Updated: 1/17/2018 / By: ZT
# Version: 1.1 / Updated: 1/30/2018 / By: ZT
#
# Description: This script applies the license for Matlab applications.
#
@@ -14,38 +14,47 @@
##################################################
# Define Variables
# If the machine has multiple Matlab Applications, loop through them...
/usr/bin/find /Applications -iname "Matlab*.app" -maxdepth 1 -type d | while IFS="\n" read -r appPath; do
# Find all instances of Matlab
appPaths=$(/usr/bin/find /Applications -iname "Matlab*.app" -maxdepth 1 -type d)
# Get the Matlab version
appVersion=$(/usr/bin/defaults read "${appPath}/Contents/Info.plist" CFBundleShortVersionString)
/usr/bin/logger -s "Applying License for Version: ${appVersion}"
# Verify that a Matlab version was found.
if [[ -z "${appPaths}" ]]; then
/usr/bin/logger -s "A version of Matlab was not found in the expected location!"
/usr/bin/logger -s "***** License Matlab process: FAILED *****"
exit 1
else
# If the machine has multiple Matlab Applications, loop through them...
while IFS="\n" read -r appPath; do
# Build the license file location
licenseFile="${appPath}/licenses/network.lic"
# Get the Matlab version
appVersion=$(/bin/cat "${appPath}/VersionInfo.xml" | /usr/bin/grep release | /usr/bin/awk -F "<(/)?release>" '{print $2}')
/usr/bin/logger -s "Applying License for Version: ${appVersion}"
##################################################
# Create the license file.
# Build the license file location
licenseFile="${appPath}/licenses/network.lic"
/usr/bin/logger -s "Creating license file..."
##################################################
# Create the license file.
/bin/cat > "${licenseFile}" <<licenseContents
SERVER license.server.com 11000
/usr/bin/logger -s "Creating license file..."
/bin/cat > "${licenseFile}" <<licenseContents
SERVER license.server.com 11000
USE_SERVER
licenseContents
if [[ -e "${licenseFile}" ]]; then
# Set permissions on the file for everyone to be able to read.
/usr/bin/logger -s "Applying permissions to license file..."
/bin/chmod 644 "${licenseFile}"
else
/usr/bin/logger -s "ERROR: Failed to create the license file!"
/usr/bin/logger -s "***** License Matlab process: FAILED *****"
exit 1
fi
done
if [[ -e "${licenseFile}" ]]; then
# Set permissions on the file for everyone to be able to read.
/usr/bin/logger -s "Applying permissions to license file..."
/bin/chmod 644 "${licenseFile}"
else
/usr/bin/logger -s "ERROR: Failed to create the license file!"
/usr/bin/logger -s "***** License Matlab process: FAILED *****"
exit 2
fi
done < <(/bin/echo "${appPaths}")
fi
/usr/bin/logger -s "Matlab has been activated!"
/usr/bin/logger -s "***** License Matlab process: COMPLETE *****"
exit 0