Реализация параметров в shell-скриптах
Модераторы: /dev/random, Модераторы разделов
-
- Сообщения: 203
- ОС: Убунту
Реализация параметров в shell-скриптах
Скажите, а как реализуется в шелл скриптах параметры, типа $ ./script --parametr
Или аналогично $ ./script -p
И как вообще сделать вот так:
К примеру есть архив tar.gz
И если при вызове скрипта нужно сделать вот так
$ ./script archive.tar.gz
Что бы то что было прописано после ./script выполнялось с
tar xvjf
Или аналогично $ ./script -p
И как вообще сделать вот так:
К примеру есть архив tar.gz
И если при вызове скрипта нужно сделать вот так
$ ./script archive.tar.gz
Что бы то что было прописано после ./script выполнялось с
tar xvjf
-
- Сообщения: 1913
- Статус: zzz..z
-
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
Re: Реализация параметров в shell-скриптах
ну именно вот в такой формулировке:
Код: Выделить всё
#!/bin/sh
tar xvjf "$1"
или как-то в духе:
Код: Выделить всё
#!/bin/bash
export IFS="
";
for i in ${BASH_ARGV[@]}; do
tar xvjf "$i";
done
это если по всем переданным параметрам.
Спасибо сказали:
-
- Сообщения: 203
- ОС: Убунту
Re: Реализация параметров в shell-скриптах
Спасибо большое!
Сейчас буду сидеть изучать getopt
А с $1 вообще спасение, спасибо еще раз вам!
Сейчас буду сидеть изучать getopt
А с $1 вообще спасение, спасибо еще раз вам!
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Реализация параметров в shell-скриптах
Зачем такие сложности?diesel писал(а): ↑02.07.2010 17:17или как-то в духе:
Код: Выделить всё
#!/bin/bash export IFS=" "; for i in ${BASH_ARGV[@]}; do tar xvjf "$i"; done
это если по всем переданным параметрам.
Код: Выделить всё
for i in "$@"; do
tar xjvf "$i"
done
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
-
- Сообщения: 203
- ОС: Убунту
Re: Реализация параметров в shell-скриптах
А где можно почитать про getopt на русском, где описано все очень хорошо? В гугле нету.
-
- Бывший модератор
- Сообщения: 5989
- ОС: OS X, openSuSE, ROSA, Debian
-
- Сообщения: 1913
- Статус: zzz..z
-
- Сообщения: 203
- ОС: Убунту
Re: Реализация параметров в shell-скриптах
Да?
Дибильный украинский гугл. Не всегда замечаешь что ты на украинском гугле а не на русском Р_Р
-
- Сообщения: 167
- Статус: принципиальный дилетант
- ОС: Gentoo Linux
Re: Реализация параметров в shell-скриптах
t.t писал(а): ↑02.07.2010 17:44Зачем такие сложности?
Код: Выделить всё
for i in "$@"; do tar xjvf "$i" done
Зачем такие сложности?
Код: Выделить всё
tar xjvf "$@"
upd: Сорри, не совсем прав. Впрочем, возможно, это и ближе к исхоному вопросу, чем вызов для каждого...
Иван Шихалев
shikhalev.org
shikhalev.org
-
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: Реализация параметров в shell-скриптах
Ничуть не ближе: tar принимает ровно одно имя архива на опцию опцию f, а самих этих опций может быть несколько только в случае многотомныйх архивов. Так что ничего иного, чем вызов для каждого архива, здесь быть не может.Иван Шихалев писал(а): ↑18.07.2010 05:52Зачем такие сложности?t.t писал(а): ↑02.07.2010 17:44Зачем такие сложности?
Код: Выделить всё
for i in "$@"; do tar xjvf "$i" done
Код: Выделить всё
tar xjvf "$@"
upd: Сорри, не совсем прав. Впрочем, возможно, это и ближе к исхоному вопросу, чем вызов для каждого...
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
- Сообщения: 167
- Статус: принципиальный дилетант
- ОС: Gentoo Linux
Re: Реализация параметров в shell-скриптах
В конкретном случае — да. Но формулировка была:
Что бы то что было прописано после ./script выполнялось с
Что можно понять и иначе, что я поначалу и сделал, потом лишь обратив внимание, что это именно tar.
Иван Шихалев
shikhalev.org
shikhalev.org