Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования Π½Π° языкС сцСнариСв ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 37

Автор МСндСль ΠšΡƒΠΏΠ΅Ρ€

b=`expr $a \<= 3`

echo "Если a <= 3, Ρ‚ΠΎ b = 1 (истина)"

echo "b = $b" # 1 ( 3 -le 3 )

# БущСствуСт Π΅Ρ‰Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ "\>=" (большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ).


echo

echo


# ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния

# -------- ---------


echo "ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния"

echo

a=zipper

echo "a is $a"

if [ `expr $a = snap` ]

then

echo "a -- это Π½Π΅ zipper"

fi


echo

echo


# ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со строками

# -------- -- --------


echo "ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со строками"

echo


a=1234zipper43231

echo "Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ производятся ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: \"$a\"."


# length: Π΄Π»ΠΈΠ½Π° строки

b=`expr length $a`

echo "Π΄Π»ΠΈΠ½Π° строки \"$a\" Ρ€Π°Π²Π½Π° $b."


# index: позиция ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа подстроки Π² строкС

b=`expr index $a 23`

echo "ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа \"2\" Π² строкС \"$a\" : \"$b\"."


# substr: ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ подстроки, начиная с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹

b=`expr substr $a 2 6`

echo "ΠŸΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠ° Π² строкС \"$a\", начиная с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ 2,\

и длиной в 6 символов: \"$b\"."


# ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ поиска ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ, ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ поиск

#+ начинаСтся с ***Π½Π°Ρ‡Π°Π»Π°*** строки.

#

# ИспользованиС рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

b=`expr match "$a" '[0-9]*'` # ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ количСства Ρ†ΠΈΡ„Ρ€.

echo ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ†ΠΈΡ„Ρ€ с Π½Π°Ρ‡Π°Π»Π° строки \"$a\" : $b.

b=`expr match "$a" '\([0-9]*\)'` # ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° экранированиС ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок

# == ==

echo "Π¦ΠΈΡ„Ρ€Ρ‹, стоящиС Π² Π½Π°Ρ‡Π°Π»Π΅ строки \"$a\" : \"$b\"."


echo


exit 0

ВмСсто ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° match ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ :. НапримСр, ΠΊΠΎΠΌΠ°Π½Π΄Π° b=`expr $a : [0-9]*` являСтся Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ эквивалСнтом для b=`expr match $a [0-9]*` Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, рассмотрСнном Π²Ρ‹ΡˆΠ΅.

#!/bin/bash


echo

echo "ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ строками с использованиСм конструкции \"expr \$string : \" "

echo "========================================================================"

echo


a=1234zipper5FLIPPER43231


echo "Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: \"`expr "$a" : '\(.*\)'`\"."

# Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок Π² шаблонС == ==


# Если скобки Π½Π΅ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ...

#+ Ρ‚ΠΎ 'expr' ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строковый ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ Π² Ρ†Π΅Π»ΠΎΠ΅ число.


echo "Π”Π»ΠΈΠ½Π° строки \"$a\" Ρ€Π°Π²Π½Π° `expr "$a" : '.*'`." # Π”Π»ΠΈΠ½Π° строки


echo "ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ†ΠΈΡ„Ρ€ с Π½Π°Ρ‡Π°Π»Π° строки \"$a\" Ρ€Π°Π²Π½ΠΎ `expr "$a" : '[0-9]*'`."


# ------------------------------------------------------------------------- #


echo


echo "Π¦ΠΈΡ„Ρ€Ρ‹, стоящиС Π² Π½Π°Ρ‡Π°Π»Π΅ строки \"$a\" : `expr "$a" : '\([0-9]*\)'`."

# == ==

echo "ΠŸΠ΅Ρ€Π²Ρ‹Π΅ 7 символов Π² строкС \"$a\" : `expr "$a" : '\(.......\)'`."

# ====== == ==

# ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки Π² шаблонС.

#

echo "ПослСдниС 7 символов Π² строкС \"$a\" : `expr "$a" : '.*\(.......\)'`."

# ========= ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ½Ρ†Π° строки ^^

# (фактичСски ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Ρ‡Π΅Ρ€Π΅Π· любоС количСство символов, ΠΏΠΎΠΊΠ°

#+ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½Π° трСбуСмая подстрока)


echo


exit 0


Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ экранирования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ -- \( ... \) Π² рСгулярных выраТСниях, ΠΏΡ€ΠΈ поискС ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ expr.

Perl, sed ΠΈ awk ΠΈΠΌΠ΅ΡŽΡ‚ Π² своСм распоряТСнии Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ Π°Π½Π°Π»ΠΈΠ·Π° строк. ΠšΠΎΡ€ΠΎΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ скрипт Π½Π° sed ΠΈΠ»ΠΈ awk, Π²Π½ΡƒΡ‚Ρ€ΠΈ сцСнария (см. Section 33.2) -- Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° использованию expr ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ строк.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ строк, Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π² Section 9.2.


12.3. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Ρ‚ΠΎΠΉ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ

ВрСмя/Π΄Π°Ρ‚Π° ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

date

Команда date Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π°Ρ‚Ρƒ ΠΈ врСмя Π½Π° стандартноС устройство Π²Ρ‹Π²ΠΎΠ΄Π° stdout. Она становится Π³ΠΎΡ€Π°Π·Π΄ΠΎ интСрСснСС ΠΏΡ€ΠΈ использовании Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ форматирования Π²Ρ‹Π²ΠΎΠ΄Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 12-7. Команда date

#!/bin/bash

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ 'date'


echo "ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π΄Π½Π΅ΠΉ, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… с Π½Π°Ρ‡Π°Π»Π° Π³ΠΎΠ΄Π°: `date +%j`."

# Π‘ΠΈΠΌΠ²ΠΎΠ» '+' обязатСлСн ΠΏΡ€ΠΈ использовании Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°

# %j, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ количСство Π΄Π½Π΅ΠΉ, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… с Π½Π°Ρ‡Π°Π»Π° Π³ΠΎΠ΄Π°.


echo "ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ сСкунд, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… с 01/01/1970 : `date +%s`."

# %s количСство сСкунд, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΡ… с Π½Π°Ρ‡Π°Π»Π° "эпохи UNIX",

#+ Π½ΠΎ насколько этот ΠΊΠ»ΡŽΡ‡ ΠΏΠΎΠ»Π΅Π·Π΅Π½?


prefix=temp

suffix=`eval date +%s` # ΠšΠ»ΡŽΡ‡ "+%s" Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅Π½ для GNU-вСрсии 'date'.

filename=$prefix.$suffix

echo $filename

# ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½Ρ‹ΠΉ способ получСния "ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ" ΠΈΠΌΠ΅Π½ΠΈ для Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°,

#+ Π΄Π°ΠΆΠ΅ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ с использованиСм $$.


# Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π² 'man date'.


exit 0

ΠšΠ»ΡŽΡ‡ -u Π΄Π°Π΅Ρ‚ UTC врСмя (Universal Coordinated Time -- врСмя ΠΏΠΎ Π“Ρ€ΠΈΠ½Π²ΠΈΡ‡Ρƒ).

bash$ date

Fri Mar 29 21:07:39 MST 2002


bash$ date -u

Sat Mar 30 04:07:42 UTC 2002


zdump

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ врСмя для ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π·ΠΎΠ½Ρ‹.

bash$ zdump EST

EST Tue Sep 18 22:09:22 2001 EST


time

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ статистику ΠΏΠΎ исполнСнию Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

time ls -l / даст Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:

0.00user 0.01system 0:00.05elapsed 16%CPU (0avgtext+0avgdata 0maxresident)k

0inputs+0outputs (149major+27minor)pagefaults 0swaps


Π‘ΠΌ. Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ times, ΠΎΠ±ΡΡƒΠΆΠ΄Π°Π²ΡˆΡƒΡŽΡΡ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅.

Начиная с вСрсии 2.0 Bash, ΠΊΠΎΠΌΠ°Π½Π΄Π° time стала Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ словом ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°, с нСсколько ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅.

touch

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° устанавливаСт врСмя послСднСго обращСния/измСнСния Ρ„Π°ΠΉΠ»Π° Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ систСмноС врСмя ΠΈΠ»ΠΈ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ врСмя, Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ пустого Ρ„Π°ΠΉΠ»Π°. Команда touch zzz создаст Π½ΠΎΠ²Ρ‹ΠΉ пустой Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ zzz, Ссли ΠΏΠ΅Ρ€Π΅Π΄ этим Ρ„Π°ΠΉΠ» zzz отсутствовал. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊΠΈΠ΅ пустыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ послСднСго измСнСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ touch ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ : >> newfile ΠΈΠ»ΠΈ >> newfile (для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²).

at

Команда at -- ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для запуска Π·Π°Π΄Π°Π½ΠΈΠΉ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ врСмя. Π’ ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚Π°Ρ… ΠΎΠ½Π° Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ crond, ΠΎΠ΄Π½Π°ΠΊΠΎ, at ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ запуска Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄.

at 2pm January 15 -- попросит ввСсти Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ врСмя. Π­Ρ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ совмСстимыми со сцСнариями ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. Π’Π²ΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш Ctl-D.

ΠšΠ»ΡŽΡ‡ -f ΠΈΠ»ΠΈ опСрация пСрСнаправлСния Π²Π²ΠΎΠ΄Π° (<), заставляСт at ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ список ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ· сСбя ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ сцСнарий, Π½Π° языкС ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈ, само собой разумССтся, Ρ‚Π°ΠΊΠΎΠΉ сцСнарий Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ. ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ совмСстно с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ run-parts для запуска Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² сцСнариСв.

bash$ at 2:30 am Friday < at-jobs.list

job 2 at 2000-10-27 02:30


batch

Команда batch, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ запуском Π·Π°Π΄Π°Π½ΠΈΠΉ, Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ at, Π½ΠΎ запускаСт список ΠΊΠΎΠΌΠ°Π½Π΄ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ систСмы ΡƒΠΏΠ°Π΄Π΅Ρ‚ Π½ΠΈΠΆΠ΅ .8. Подобно ΠΊΠΎΠΌΠ°Π½Π΄Π΅ at, с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ -f, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°.

cal

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° stdout Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ мСсяц. ΠœΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π³ΠΎΠ΄.

sleep

ΠŸΡ€ΠΈΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ исполнСниС сцСнария Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ количСство сСкунд, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ дСлая. ΠœΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для синхронизации процСссов, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΠ½Π΅, провСряя наступлСниС ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ события Ρ‚Π°ΠΊ часто, ΠΊΠ°ΠΊ это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. НапримСр, ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 29-6.

sleep 3

# ΠŸΠ°ΡƒΠ·Π°, Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π² 3 сСкунды.


Команда sleep ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ количСство сСкунд, Π½ΠΎ Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈ количСство часов ΠΈ ΠΌΠΈΠ½ΡƒΡ‚ ΠΈ Π΄Π°ΠΆΠ΅ Π΄Π½Π΅ΠΉ.

sleep 3 h

# ΠŸΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π½Π° 3 часа!


Для запуска ΠΊΠΎΠΌΠ°Π½Π΄ Ρ‡Π΅Ρ€Π΅Π· Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ watch .

usleep