Невозможно сделать цикл if-else для google-книг в Bash - PullRequest
1 голос
/ 25 июня 2009

Мой текущий код

#!/bin/bash

#w=$2
#e=$3
#r=$4
#t=$5
#o=$5
#
prepend=""
append=""
case "$1" in
    -h)
        echo 'Usage: google [-{hxdw}] [<arg>]'
        echo '       -h: show help.'
        echo '       -x: search for "<arg> is"'
        echo '       -d: search for "define:<arg>"'
        echo '       -w: search for <arg> site:wikipedia.org'
        exit;;

    -x)
        prepend="\""
        append=" is\""
        shift;;
    -d)
        prepend="\"define:"
        append="\""
        shift;;
    -w)
        prepend=""
        append=" site:.wikipedia.org"
        shift;;
    -wo)
        prepend=""
        append=" site:.mathworld.wolfram.com/"
        shift;;
    -so)
        prepend=""
        append=" site:.stackoverflow.com/"
        shift;;
    -b)
        prepend=""
        append=""
        shift;;



esac
if [[ -z "$1" ]] ; then      # I am not sure about this line and about -z 
    query=""
else
    query="?q=${prepend}${1}${append}${params}"
fi
# you can use echo to put the url to history, eg
# echo http://www.google.com/search${query}

open "http://www.google.com/search${query}"

Я хочу цикл if-else для команды open, такой что

Моя неудачная попытка

if $1==-b; then$
     open "http://www.books.google.com/search${query}"
 else
     open "http://www.google.com/search${query}"                               
 fi

Я получаю, выполнив скрипт оболочки с помощью gg

gg -b "Freakonomics"        
line 54: Freakonomics==-b: command not found

Как вы можете проверить значение в $ 1 , чтобы начать поиск по Google-книгам в Firefox?

Ответы [ 2 ]

5 голосов
/ 25 июня 2009

попробовать:

if [ "$1" = "-b" ]; then
    open "http://www.books.google.com/search${query}"
else
    open "http://www.google.com/search${query}"                               
fi

Редактировать: Добавлены пробелы до и после оператора сравнения, благодаря комментарию Денниса Уильямсона .

2 голосов
/ 25 июня 2009

eleven81 имеет это право. Посмотрите Advanced Bash Scripting Guide для получения дополнительной информации о сравнениях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...