1, переменная позиция $$ возвращается к процедуре ПИД $ 0 представителя самого имя сценария первого параметра контакта во время выполнения $ 1 представляет собой сценарий (общий) , то $ 2 представляет сценарий выполняется второй параметр контакта во время выполнения $ 3 представляет собой третий сценарий параметры $ * Представляет все параметры $ @ является от имени всех параметров $ # дисплей число последовавших параметрами $? выполнить команду на успех, возвращает 0, отказ от ненулевого (общий) возвращает 2, переменная вычисления обычно используется численный порядок : (()), ЛПЭ, выражение, БК, $ [] # 100 = А # в = 200 # $ с = ((А + $ B $)) - арифметическая операция, вычисляет целое число только два кронштейна, а не меньше , # с = $ [$ а + $ Ь] - арифметическая операция, только вычисляет целое число # пусть с = а + б - арифметическое, только вычисляет целое число # $ выражение а + $ Ь - арифметическое, только целочисленное расчет, обратите внимание на формат, есть пробелы с обеих сторон от знака равенства # а = 3,14 # б = 1,23 # эхо «$ а + $ Ь» | Ьс - арифметика, десятичное число можно вычислить, Ъс калькулятор 4,37 Ьс является калькулятор # Ьс Являются ли это целое число или десятичная BC может быть использована для расчета с | конвейером 3, и определяет логическую последовательность ; - выполнение End спереди, независимо от успеха или нет, не выполняя логику && - фронт успешно выполнен, была выполнена позади; неудавшейся спереди, сзади не выполняет логические и || - фронт не удалось, до реализации задней; успешного выполнения передней, задней или не выполнения логики , эти символы связаны && || команда - правильный метод определения: LS # / Тест / && эхо «существует» || эхо «не существует» - метод определения ошибки: # LS / testfsdafas / || эхо «существует» && эхо «не существовало» условия два детерминации. 1. синтаксис условия суждения [ синтаксис] формат 1: <выражение теста> теста - не используется Пример: тест 1.txt -f 0 && эхо - эхо - 1 ||. 2 формат: [<выражение теста>] - общий пример: [-f 1. TXT] && эхо - 1 || эхо 0 формат 3: [[<тест выражение>]] - не используется Пример: [[-f 1.txt]] &&1 || 0 эхо эха 2. Анализ различных условий (1) и типа файла файл существует анализирующий -e ли есть (существует) -f если обычный файл -d ли каталог -S файл сокета -p труба управления файлами -c символов символьного файл -b заблокированным файл -L мягкую ссылку # тесты -f 1.txt && эхо . 0 || эхо - 1 . 1 # [-f 1.txt] && эхо - эхо - 1 || 0 -. Примечание выражения [] на фронте и пространство . 1 . # [[-f 1.txt]] && эхо - 1 || эхо 0 - Примечание выражения [] на передней панели и пространстве . 1 # [[-f 1.txt]] && эхо эхо 1 || 0. 0 входов файл, определяется , какой тип # / bin /! Баш Read -p «Пожалуйста , введите имя файла:» имя файла [-e $ имя_файла] || эхо «файл не существует» [-f $ имя_файла] && эхо «$ {имя файла} является обычным файлом» [-d $ имя_файла] && эхо "$ {имя файла} является каталогом" [$ -S имя_файла] && Echo «$ {имя файла} является файл сокета» [$ -p имя файла] && Echo "$ {имя файла} трубопровода Файл" [-C $ имя_файла] && эхо "$ {имя файла} является файл символ" [$ имя_файла -b] && эхо «$ {имя файла} является блок файла " [$ -L имя_файла] && эхо" $ {имя файла} мягкий файл ссылку " ------------------------------- ------------- #! / bin / Баш [. -e $ 1] || эхо "файл не существует" [-f $ 1.] && эхо "$ {} представляет собой обычный файл 1." [- д $ 1] && эхо "$ {1} является каталогом" [-S $. 1] && эхо "$ {. 1} является файл сокета" [-p $. 1] && эхо "$ {. 1} представляет собой трубу файл" [-C $. 1] && эхо "$ {1} представляет собой файл символ" [$. 1 -b] && эхо "$ {1} представляет собой блок - файл" [-L $. 1] && эхо "$ {1} мягкий файл ссылку" (2) определяют права доступа к файлам , связанный -r которой текущий пользователь является читаемым - действительным для среднего пользователя, суперпользователь неточных (RW допускается) -w которой текущий пользователь перезаписывает -x ли его текущего пользователь исполнение - общие есть SUID -u -g ли SGID есть ли -k т бит (. 6) Анализ логики -s пустой файл - не пусто, правда, пустая ложь #! / Bin / SH [-e $ 1] || эхо "Файл не существует" [1 -x $] && SH $ 1 || эхо "нет разрешения на выполнение" (3) сравнить два файла , чтобы определить file1 file2 сравнить -nt file1 ли чем file2 (новый новый в прошлом) file1 file2 -ot сравнения ли file1 file2 старше (старый в последний) file1 file2 -ef ли сравнение для того же файла определяется (4) между целыми числами -eq равны -ne неравный -GT больше , чем -lt меньше -ный , большая или равная -le или менее (5) определяются между струнами -z строкой пуста - определяются ли переменное пуста -n не является пустой строкой string1 = string2 равно sTRING1 =! строка2 неравными # А = # [-Z $ А] && эхо - эхо. 1 || 0 . 1 # 1 = А. # [-Z $ А] && эхо - эхо. 1 || 0 0 -a два условия, это правда -о как в первый раз встретились, это истина ! Номера (7) определяет разницу между тремя форматами используемого (арифметическое) в () () используются в [] и [[]] в (арифметической) Описание == -eq равны, равны ! = -Ne не равны , не равно > -gt больше, больше , чем > = -ной более равной, больше или равно <-lt меньше, меньше , чем <= -le менее равны, меньше или равно в [] является логическим оператором [[]] в используя логические операторы инструкции -a && с -o или || !! не # [-e install.log -a -f install.log] && кот install.log || эхо " файл не существует" # [-e 1.sh -a -x 1.sh] && ./1.sh || эхо " файл не существует или файл не разрешается выполнять" # [[-e 1.sh && -x 1.sh]] && ./1 .sh || эхо «файл не существует или файл не разрешается выполнять.» (1) одну разветвленную структуру , если условие (условие истинным или ложным) тогда - либо отдельной строкой, или более поздней версии , если добавить точку с запятой Заявление Fi или если для условия условия, а затем Statement Fi IF (если / предполагается) условия (истина / ложь) - условие истинно, то выполняется код тогдашние (So) коды; Fi (2) двойной разветвленной структурой , если выполнено условие (условие истинным или ложным) в то себе - условие истинно, то выполнение часть в другое заявление - условие ложно, то выполнение раздела Fi (. 3) мульти-разветвленная структура , если выполнено условие (условие истинное или ложный) тогда Заявление Элифа для состояния состояния в то себе Элиф для условия состояния тогда Заявление остального Заявления Fi
Входной документ, определяет , имеется ли, тип файла #! / Bin / Баш [-e $. 1] && эхо "файл существует" || эхо "файл не существует" [-f $. 1] && эхо «$ {}. 1 является общим файл " [-d $. 1] && эхо" $ {. 1} является каталогом " [-S $. 1] && эхо" $ {. 1} является сокет - файл " [-p $. 1] && эхо" $ {. 1} файл труба " [ -c $ 1] && эхо "$ {1} представляет собой файл символ" [$ 1 -b] && эхо "$ {} 1 представляет собой блок - файл.". [-L $ 1] && эхо "$ {} 1 мягкий файл ссылку.". - --------------------------- входной файл определяет , является ли тип файла для одной конечности: #! / bin / Баш , если [. -e $ 1] , а затем «файл существует» эхо Fi # логический оператор , чтобы определить файл не существует , если [-e $ 1.], а затем эхо «файл не существует» Fi # определяет тип файла IF [-f $ 1.], А затем эхо "$ 1 представляет собой обычный файл." Fi IF [-d $ 1.], А затем эхо "$ 1 является каталогом файлов" Fi IF [-S $ 1.], А затем эхо "$ 1 это сокет - файл." Fi IF [-p $ 1.], А затем эхо "$ 1 представляет собой трубу файл." Fi IF [ -С $ 1];. тогда эхо "$ 1 является символом файла" Fi IF [-b $ 1];. тогда эхо "$ 1 представляет собой блок - файл" Fi IF [-L $ 1];. тогда эхо "$ 1 является ссылка на файл" интернет ---- ------------------------ два Гис и разветвленные # определить , существует ли файл #! / bin / Баш , существует ли файл # судьи , если [-e $ 1 ] тогда эхо «файл существует» еще эхо «файл не существует.» Fi # Тип файла определяется , если [-f $ 1], а затем эхо "$ {1} является обычным файлом" Элиф [-d $ 1.], а затем эхо "{. 1} $ является каталогом" Элиф [-S $ 1.], а затем эхо "$ {. 1} является сокет - файл" Элиф [-p $ 1.], а затем эхо «$ {. 1} файл трубы « Элиф [-C $ 1.], а затем эхо» $ {. 1} представляет собой файл символ « Элиф [-b $ 1.], а затем эхо» $ {1.} является блок - файл « еще эхо» $ мягкого файла ссылка {1.} " фи ------------------------------------------- как определить хост Есть в Интернете? #! / Bin / Баш пинг -c $ 1 & 2> / DEV / нуль IF (($ == 0)?), А затем эхо "$ 1 онлайн" еще эхо "$ 1 не в сети" фи -------- --- #! / bin / Баш пинг -c $ 1 & 2> IF [$ -eq 0?], А затем эхо «$ 1 онлайн» еще эхо «$ 1 не в сети» фи