понедельник, 18 апреля 2011 г.

shell


Shell


Начало

shell - это интерпретируемый язык. shell-файл - это программа.
Первая строка шелл-файла, которая говорит, что интерпретировать файл надо через shell:
#!/bin/sh 

строка, которая выполнится в консоли:
script -c "mvts3g-server -f $*"

Команды

sleep 1s 1mждать 1 секунду и 1 минуту



Переменные

Специальные


#!/bin/bash
# Its a test script : test.sh
echo "First Parameter : \$1 = $1"
echo "Second parameter : \$2 = $2"
echo "Total passed parameters : \$# = $#"
echo "All parameters : \$* = $*"
echo "All parameters : \$@ = $@"
echo "Process Id : \$$ = $$"

exit 0

отличия $@ и $i

в кавычках $* превращается в строку, разделенную первым символом IFS, а $@ — в набор строк
поэтому желательно использовать $@
#!/bin/bash
export IFS="___"
echo "\$*: $*"
for i in "$*";
do
    echo "$i" ## в цикле будет одна(!) итерация
done

echo "\$@: $@"
for i in "$@";
do
    echo "$i" ## сколько параметров запуска скрипта, столько же итераций
done

Экспорт переменных

Пусть есть два скрипта
s1
#!/bin/sh
VAR=12345
export VAR ## пробрасывает переменные в вызываемые скрипты
echo $VAR
./s2
и s2
#!/bin/sh
echo $VAR

Конструкции

обратные кавычки ``

код, написанный в обратных кавычках выполнится первым, и результат выполнения вернётся в качестве аргумента.
$ echo `echo 'off'`
выведет на экран
off




Комментариев нет:

Отправить комментарий