Переменные и суждения

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 не в сети» 
	фи

  

  

рекомендация

отwww.cnblogs.com/The-day-of-the-wind/p/12064396.html