grep
enfoque.
if echo $1 | grep -qE "^(cat|dog|mouse)$"; then
echo "dollar 1 is either a cat or a dog or a mouse"
fi
-q
para evitar cualquier salida a la pantalla (más rápida de escribir que>/dev/null
). -E
para expresiones regulares extendidas (cat|dog|mouse)
aspectos necesita esto. ^(cat|dog|mouse)$
coincide con cualquier línea que comience(^
)con gato, perro o ratón((cat|dog|mouse)
)seguido del final de la línea($
)Возьмем configure
скрипт любой программы с открытым исходным кодом.
. если у вас есть репозиторий git new_editor
с 2 подмодулями и вы пишете для него скрипт установки, вы не можете писать:
#!/bin/bash
#.........
/home/kashyap/workspaces/new_editor/module1/install.sh
/home/kashyap/workspaces/new_editor/module2/install.sh
#.........
Вы должны написать
#!/bin/bash
#.........
./module1/install.sh
./module2/install.sh
#.........
Advantage of relative path names over absolute path names
Большим преимуществом относительных путей является возможность размещения пакетов дистрибутива при использовании стандартной структуры файловой системы. Например, если двоичному файлу в /usr/bin/
нужны данные из /usr/share/
, то DATADIR
из ../share/
означает, что двоичный файл может быть установлен где угодно, и двоичный файл может найти свои данные.
Такая ситуация часто возникает при поэтапной установке с использованием DESTDIR
. Вместо установки в /usr/bin
или /usr/local/bin
с использованием только BINDIR
, пакет можно разместить в /opt/usr/
, что эквивалентно $(DESTDIR)$(PREFIX)
с DESTDIR=/opt/
и PREFIX=/usr
. Двоичный файл находится по адресу BINDIR=/opt/usr/bin
, а данные — по адресу DATADIR=/opt/usr/bin/../share
.
См. такжеDESTDIR
в Стандартах кодирования GNU.