Category Archives: Language

Home »  Language

Bash Script 비교 연산자

[ 정수 비교 ]
 
 

연산자
의미
표현

-eq
(같음)
if [ $a -eq $b ]

-ne
(같지 않음)
if [ $a -ne $b ]

-gt
(보다 큼)
if [ $a -gt $b ]

-ge
(크거나 같음)
if [ $a -ge $b ]

-lt
(보다 작음)
if [ $a -lt $b ]

-le
(작거나 같음)
if [ $a -le $b ]

>
(보다 큼)
(($a > $b))

>=
(크거나 같음)
(($a >= $b))

<
(보다 작음)
(($a < $b))

<=
(작거나 같음)
(($a <= $b))

[ 문자열 비교 ]

 연산자
의미
표현

=
(같음)
if [ “$a” = “$b” ]

==
(같음)
if [ “$a” == “$b” ]

!=
(같지 않음)
if [ “$a” != “$b” ]

-z
(문자열이 “null”임. 길이가 0)
if [ -z “$a” ]

! -z
(문자열이 “null”이 아님.)
if [ ! -z “$a” ]

-n
(문자열이 “null”이 아님.)
if [ -n “$a” ]

>
(ASCII값이 보다 큼.)
if [[ “$a” > “$b” ]]
if [ “$a” \> “$b” ]

<
(ASCII값이 보다 작음.)
if [[ “$a” < “$b” ]]
if [ “$a” \< “$b” ]

[ 복합 비교 ]

 연산자
의미
표현

-a
(논리 and)
if [ $a -eq 0 -a $b -eq 1 ]

-o
(논리 or)
if [ $a -eq 0 -o $b -eq 1 ]

&&
(논리 and)
if [ $a -eq 0 ] && [ $b -eq 1 ]
if […]

php ssh2 이용 명령어 날리기

> 아래 코드 사용이전에 php 에 ssh2 모듈이 설치가 되어있어야된다! 필요시 사이트네 ssh2 모듈 설치 게시글 확인~

php shell 실행문

1) exec
<?php
echo exec(‘whoami’);
?>
 
2) shell_exec
<?php
$output = shell_exec(‘ls -lart’);
echo “<pre>$output</pre>”;
?>
 
3) escapeshellcmd
<?php
$command = ‘./configure ‘.$_POST[‘configure_options’];
$escaped_command = escapeshellcmd($command);
system($escaped_command);
?>
 
4) system
<?php
echo ‘<pre>’;
$last_line = system(‘ls’, $retval);
echo ‘
</pre>
<hr />Last line of the output: ‘ . $last_line . ‘
<hr />Return value: ‘ . $retval;
?>

php 에서 shell 실행 문

<?
$cmd = ‘ls’;
$result = shell_exec($cmd);
echo $result;
?>

php 텍스트파일 읽기

<?
$fp = fopen(“test.txt”,”r”); // text.txt파일을 한 줄씩 읽습니다.
if(!$fp) { // $fp파일이 없으면 에러 출력
echo “error”;
}
while(!feof($fp)) { //문자의 마지막 행까지 간다
$str = fgets($fp,10000); // 10000길이까지 읽어드리지만 중간에 개행문자가 있으면 알아서 멈춘다.
$arr[] = $str; // $arr배열에 하나씩 넣는다. $b[1] = “첫번째 줄” 뭐 이런식
}
for($i=0;$i<sizeof($arr);$i++) { // 행만큼돌려준다.
echo $arr[$i].”<br>”;
}
fclose($fp);
?>

echo 로 txt파일출력

#!/bin/bash
cat [텍스파일명] | \
while read line
do
echo “$line”
done

조건식

1. 문자열 비교

조건식
설명

문자열1==문자열2
문자열이 일치

문자열1!=문자열2
문자열이 일치하지 않음

-z 문자열
빈 문자열

-n 문자열
빈 문자열 아님

문자열==패턴
문자열이 패턴에 매치

문자열!=패턴
문자열이 패턴에 매치하지 않음

2. 수치 비교

조건식
설명

수치1 -eq 수치2
수치가 같음(equal)

수치1 -ne 수치2
수치가 같지 않음 (not equal)

수치1 -lt 수치2
수치1이 수치2보다 작음 (less equal)

수치1 -le 수치2
수치1이 수치2보다 작거나 같음 (less or equal)

수치1 -gt 수치2
수치1이 수치2보다 큼(greater than)

수치1 -ge 수치2
수치1이 수치2보다 크거나 같음 (greater or equal)

3.조건식에 따른 파일검사

조건식
설명

-e 파일명
파일이 존재함

-d 파일명
디렉터디

-h 파일명
심볼릭 링크

-f 파일명
일반 파일

4. 조건 논리연산

조건식
설명

조건1 && 조건2
양쪽 다 성립

조건! || 조건2
한쪽 혹은 양쪽다 성립

!조건
조건이 성립하지 않음

true
조건이 언제나 성립

false
조건이 언제나ㅣ 성립하지않음

 
전문가를위한 10년활용 리눅스 시스템을 보며정리~