Guest User

Untitled

a guest
Aug 19th, 2015
356
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.87 KB | None | 0 0
  1. #!/bin/bash
  2. xo_exit() {
  3.     disown
  4.     exit
  5. }
  6. urlencode() {
  7.     local LC_ALL=C
  8.     local symbol
  9.     local -i i len=${#1}
  10.     for (( i = 0; i < len; ++i )); do
  11.         symbol=${1:$i:1}
  12.         if [[ $symbol == [-_.~a-zA-Z0-9] ]]; then
  13.             printf %c "$symbol"
  14.         else
  15.             printf %%%02X "'$symbol"
  16.         fi
  17.     done
  18.     printf '\n'
  19. }
  20. if [ -z "$1" ]
  21. then
  22.     exit
  23. fi
  24. case "$1" in
  25.     g:*)
  26.         exo-open "https://www.google.ru/search?q=$(urlencode "${*#*:}")" &
  27.         xo_exit
  28.     ;;
  29.     w:*)
  30.         exo-open "https://ru.wikipedia.org/wiki/$(urlencode "${*#*:}")" &
  31.         xo_exit
  32.     ;;
  33. esac
  34. if command -v -- "$1" 2>/dev/null >/dev/null && [[ $1 != *.desktop ]]
  35. then
  36.     "$@" &
  37.     xo_exit
  38. elif [ -e "$1" ]
  39. then
  40.     if [ -x "$1" ] && [ ! -d "$1" ] && [[ $1 != *.desktop ]]
  41.     then
  42.         ./"$@" &
  43.         xo_exit
  44.     else
  45.         exo-open "$@" &
  46.         xo_exit
  47.     fi
  48. else
  49.     exo-open "$@" &
  50.     xo_exit
  51. fi
Advertisement
Add Comment
Please, Sign In to add comment