Advertisement
Guest User

Untitled

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