Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F91189938
install.sh
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Fri, Nov 8, 19:39
Size
2 KB
Mime Type
text/x-shellscript
Expires
Sun, Nov 10, 19:39 (2 d)
Engine
blob
Format
Raw Data
Handle
22216044
Attached To
R5853 genocrunch-2.1
install.sh
View Options
#!/usr/bin/env bash
#install.sh
# Generic script to install through bash profile
################
# Error function
################
err() {
echo "Error [${__base}]: $@" >&2
exit 1
}
################
# Main
# Optional args:
# (1) action Valid choices: 'install', 'uninstall'. Default: 'install'.
################
main(){
local funcname
funcname='main'
# Set action (install or uninstall)
local value
value=('install' 'uninstall')
local action
action="${value[0]}"
if [[ "${#@}" -gt 0 ]]; then
[[ ! " ${value[@]} " =~ " ${1} " ]] && err "in ${funcname}() (line ${LINENO}): unknown value to action (${1}). Valid choice: ${value[@]}. Default:${value[0]}."
[[ "${1}" == "${value[1]}" ]] && action="${1}"
fi
local bash_profile
if [[ -e "${HOME}"/.bashrc ]]; then
bash_profile="${HOME}"/.bashrc
elif [[ -e "${HOME}"/.bash_profile ]]; then
bash_profile="${HOME}"/.bash_profile
else
err "in ${funcname}() (line ${LINENO}): no .bashrc or .bash_profile found in \$HOME."
fi
[[ ! -w "${bash_profile}" ]] && err "in ${funcname}() (line ${LINENO}): write permission denied on ${bash_profile}."
local append_str
append_str="export PATH=\"${__installdir}:\$PATH\""
if [[ "${action}" == 'install' ]]; then
if [[ $(grep -c "${append_str}" "${bash_profile}") -eq 0 ]]; then
echo "${append_str}" >> "${bash_profile}"
echo "Appending '${append_str}' to ${bash_profile}..."
else
echo "'${append_str}' alredy found in ${bash_profile}. Nothing to do."
fi
else
if [[ $(grep -c "${append_str}" "${bash_profile}") -ne 0 ]]; then
# !!! Hard coded !!!
sed -i -e '\&^'"export PATH=\\\"${__installdir}:\\\$PATH\\\""'$&d' "${bash_profile}"
echo "Removed '${append_str}' from ${bash_profile}."
else
echo "'${append_str}' not found in ${bash_profile}. Nothing to do."
fi
fi
return 0
}
set -o nounset
set -o pipefail
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
__basedir="$(basename ${__dir})"
#__basedir="$(echo "${__basedir}" | sed -e "s/-[0-9]*\.[0-9]*$//g")"
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
__base="$(basename ${__file})"
__installdir="${__dir}"/lib/genocrunch_console/bin
main "${@}"
exit 0
Event Timeline
Log In to Comment