install.sh
上传用户:king477883
上传日期:2021-03-01
资源大小:9553k
文件大小:2k
源码类别:

游戏引擎

开发平台:

C++ Builder

  1. #!/bin/bash
  2. # Install the Second Life Viewer. This script can install the viewer both
  3. # system-wide and for an individual user.
  4. VT102_STYLE_NORMAL='E[0m'
  5. VT102_COLOR_RED='E[31m'
  6. SCRIPTSRC=`readlink -f "$0" || echo "$0"`
  7. RUN_PATH=`dirname "${SCRIPTSRC}" || echo .`
  8. tarball_path=${RUN_PATH}
  9. function prompt()
  10. {
  11.     local prompt=$1
  12.     local input
  13.     echo -n "$prompt"
  14.     while read input; do
  15.         case $input in
  16.             [Yy]* )
  17.                 return 1
  18.                 ;;
  19.             [Nn]* )
  20.                 return 0
  21.                 ;;
  22.             * )
  23.                 echo "Please enter yes or no."
  24.                 echo -n "$prompt"
  25.         esac
  26.     done
  27. }
  28. function die()
  29. {
  30.     warn $1
  31.     exit 1
  32. }
  33. function warn()
  34. {
  35.     echo -n -e $VT102_COLOR_RED
  36.     echo $1
  37.     echo -n -e $VT102_STYLE_NORMAL
  38. }
  39. function homedir_install()
  40. {
  41.     warn "You are not running as a privileged user, so you will only be able"
  42.     warn "to install the Second Life Viewer in your home directory. If you"
  43.     warn "would like to install the Second Life Viewer system-wide, please run"
  44.     warn "this script as the root user, or with the 'sudo' command."
  45.     echo
  46.     prompt "Proceed with the installation? [Y/N]: "
  47.     if [[ $? == 0 ]]; then
  48. exit 0
  49.     fi
  50.     install_to_prefix "$HOME/.secondlife-install"
  51.     $HOME/.secondlife-install/etc/refresh_desktop_app_entry.sh
  52. }
  53. function root_install()
  54. {
  55.     local default_prefix="/opt/secondlife-install"
  56.     echo -n "Enter the desired installation directory [${default_prefix}]: ";
  57.     read
  58.     if [[ "$REPLY" = "" ]] ; then
  59. local install_prefix=$default_prefix
  60.     else
  61. local install_prefix=$REPLY
  62.     fi
  63.     install_to_prefix "$install_prefix"
  64.     mkdir -p /usr/local/share/applications
  65.     ${install_prefix}/etc/refresh_desktop_app_entry.sh
  66. }
  67. function install_to_prefix()
  68. {
  69.     test -e "$1" && backup_previous_installation "$1"
  70.     mkdir -p "$1" || die "Failed to create installation directory!"
  71.     echo " - Installing to $1"
  72.     cp -a "${tarball_path}"/* "$1/" || die "Failed to complete the installation!"
  73. }
  74. function backup_previous_installation()
  75. {
  76.     local backup_dir="$1".backup-$(date -I)
  77.     echo " - Backing up previous installation to $backup_dir"
  78.     mv "$1" "$backup_dir" || die "Failed to create backup of existing installation!"
  79. }
  80. if [ "$UID" == "0" ]; then
  81.     root_install
  82. else
  83.     homedir_install
  84. fi