Как передать значение в скрипт?

Все о программировании под *nix
Аватара пользователя
mihail
Неотъемлемая часть форума
Сообщения: 494
Зарегистрирован: 20 окт 2004, 01:35
Откуда: Минск

Как передать значение в скрипт?

Сообщение mihail »

Есть текстовой файл с телефонной базой Минска. В файле нужные данные можно выводить командой
$ cat phones.txt | grep [номер телефона]

Но эту команду можно организовать в скрипт, ну типа с названием ph. И тогда команда станет проще:
$ ph [номер телефона]

Вот только как передать номер в скрипт, чтоб подставился после greep?

Аватара пользователя
exe
Неотъемлемая часть форума
Сообщения: 860
Зарегистрирован: 28 ноя 2003, 21:08
Откуда: Минск

Сообщение exe »

alias ph="cat phones.txt | grep "

Аватара пользователя
mihail
Неотъемлемая часть форума
Сообщения: 494
Зарегистрирован: 20 окт 2004, 01:35
Откуда: Минск

Сообщение mihail »

alias работаеть :D

НО. А в общем случае? Например если скрыпт многострочный, и передавать надо несколько значений? :roll:

Аватара пользователя
exe
Неотъемлемая часть форума
Сообщения: 860
Зарегистрирован: 28 ноя 2003, 21:08
Откуда: Минск

Сообщение exe »

xargs

slavaz
Фанатеющий
Сообщения: 155
Зарегистрирован: 20 июл 2005, 15:22
Откуда: Brest
Контактная информация:

Сообщение slavaz »

Код: Выделить всё

#!/bin/bash
cat phones.txt | grep $1
Подставит первый параметр скрипта в качестве критерия отбора (не только номер телефона :) )
just for fun

Аватара пользователя
Speccyfan
Неотъемлемая часть форума
Сообщения: 540
Зарегистрирован: 18 дек 2004, 15:15
Откуда: Polotsk
Контактная информация:

Сообщение Speccyfan »

Я бы базу в мускул запихнул :) кстати а где можно скачать этот файлик с телефонами ?
Best Regards, Yury Konovalov aka Speccyfan (2:453/53)
Registered Linux User #379588

Аватара пользователя
mihail
Неотъемлемая часть форума
Сообщения: 494
Зарегистрирован: 20 окт 2004, 01:35
Откуда: Минск

Сообщение mihail »

Я качал здеся:
http://victorgr.strana.de/phones.rar

А тема также обсуждается здеся:
http://forum.linux.by/viewtopic.php?t=5691&start=15

А $1 работаеть! :D

Ответить