SHARE
TWEET

Untitled

a guest Oct 18th, 2019 82 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2. #------------------------------------------------------------
  3. if [ $# -lt 1 ]; then
  4.     echo -e "\e[91mE: 引数が足りません!! (1)\e[39m" 1>&2
  5.     echo "指定された引数は$#個です。" 1>&2
  6.     echo "Usage: $0 { help | install | remove }"
  7.     echo "installの引数はurlです。"
  8.     echo "キャッシュは自動で削除します。"
  9.     echo "詳しくはhelpを参照してください。" 1>&2
  10.     exit 1
  11. fi
  12. #------------------------------------------------------------
  13. init()
  14. {
  15.     echo -e "\e[96m初期化中...\e[39m"
  16. #    cndpwd=$(pwd) #ToDo
  17.     apt="/usr/bin/apt" #/usr/bin/apt-get #ubuntu(>=19.10) & debian(>=10) /bin/apt OK
  18.     apt_install="install"
  19.     sudo="/usr/bin/sudo" #ubuntu(>=19.10) & debian(>=10) /bin/sudo OK
  20.     wget="/usr/bin/wget" #ubuntu(>=19.10) & debian(>=10) /bin/wget OK
  21.     wget_opt="-O"
  22.     pkg_ext=".deb"
  23.     sleep 1
  24. }
  25.  
  26. install()
  27. {
  28.     echo -e "\e[95minstallを実行します。\e[39m"
  29.     dlc=$(mktemp) #DownloadCache
  30.     ${wget} ${p2} ${wget_opt} ${dlc}${pkg_ext}
  31.     ${sudo} ${apt} ${apt_install} ${dlc}${pkg_ext}
  32.  
  33.     echo -e "\e[94mキャッシュを削除しています...\e[39m"
  34.     rm -f ${dlc}${pkg_ext}
  35.     sleep 1
  36.     echo -e "\e[94mキャッシュの削除完了!\e[39m"
  37.  
  38. #    cd ${cmdpwd} #ToDo
  39.     echo -e "\e[95m終了します。"
  40.     exit 0
  41. }
  42.  
  43. remove()
  44. {
  45.     echo -e "\e[95mremoveを実行します\e[39m"
  46.     ${sudo} ${apt} ${pa}
  47.     echo -e "\e[95m終了します。"
  48.     exit 0
  49. }
  50.  
  51. cmdhelp()
  52. {
  53.     echo "install {url}"
  54.     echo "urlを指定して実行します。"
  55.     echo "複数のurlを一度に実行することは*現在できません*。"
  56.     echo "キャッシュは自動で削除します。"
  57.     echo ""
  58.     echo "remove {name1}...{name9}"
  59.     echo "apt removeと同じように使えるはずです。"
  60. }
  61.  
  62. version()
  63. {
  64.     echo ${version}
  65.     echo "ToDo:イースターエッグ実装(近日)、複数url指定(未定)"
  66. }
  67. #------------------------------------------------------------
  68. version=1.0.1
  69. p2=$2
  70. pa=$*
  71.  
  72. case $1 in
  73.     help)
  74.         cmdhelp
  75.         ;;
  76.     install)
  77.         init
  78.         if [ $# -ne 2 ]; then
  79.             echo -e "\e[91mE: 引数が多すぎまたは、少ないです!! (1)\e[39m" 1>&2
  80.             echo "指定された引数は$#個です。" 1>&2
  81.             echo "パッケージのurlは指定しましたか?" 1>&2
  82.             echo "パッケージのurlを複数指定することは、今のところ**不可能**です。" 1>&2
  83.             exit 1
  84.         fi
  85.         install
  86.         ;;
  87.     remove)
  88.         init
  89.         if [ $# -ne 2 ]; then
  90.             echo -e "\e[91mE: 引数が多すぎまたは、少ないです!! (1)\e[39m" 1>&2
  91.             echo "指定された引数は$#個です。" 1>&2
  92.             echo "パッケージは指定しましたか?" 1>&2
  93.             echo "パッケージを複数指定することは、こちらは上限なしで可能です。(aptが許す限り)" 1>&2
  94.             exit 1
  95.         fi
  96.         remove
  97.         ;;
  98.     wget)
  99.         init
  100.         if [ $# -ne 2 ]; then
  101.             echo -e "\e[91mE: 引数が多すぎまたは、少ないです!! (1)\e[39m" 1>&2
  102.             echo "指定された引数は$#個です。" 1>&2
  103.             echo "パッケージのurlは指定しましたか?" 1>&2
  104.             echo "パッケージのurlを複数指定することは、今のところ**不可能**です。" 1>&2
  105.             exit 1
  106.         fi
  107.         install
  108.         ;;
  109.     version)
  110.         version
  111.         ;;
  112.     *)
  113.     echo "Usage: $0 { help | version | install | remove }"
  114.     echo "installの引数はurlです。"
  115.     echo "キャッシュは自動で削除します。"
  116. esac
  117. exit 0
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top