논리 또는 작업을 스크립팅하는 쉘로 방법

저는 간단하게 하고 있지만, t # 39 작동합니까 확인란 찼음을 doesn& 것으로 보인다.

'0' 또는 '1' 은 '$ #' 같은 경우 다음 처리됐구나 말하도다 보다 크다.

나도 날잡아 없이 다음 구문을 성공을 거두었다.

if [ "$#" == 0 -o "$#" > 1 ] ; then
 echo "hello"
fi

if [ "$#" == 0 ] || [ "$#" > 1 ] ; then
 echo "hello"
fi
질문에 대한 의견 (5)
해결책

이 노력해야 합니다.

#!/bin/bash

if [ "$#" -eq 0 ] || [ "$#" -gt 1 ] ; then
    echo "hello"
fi

39 m, i& 태그일 경우 다른 발을 사용할 수 있는지 알고 다른 신앙이니라 프로파일링하려는 &lt &gt 연산뿐 괄호 안에 둘 필요가 있습니다,, 같은 있습니다.

if (("$#" > 1))
 ...
해설 (4)

이 코드는 works for me.

#!/bin/sh

argc=$#
echo $argc
if [ $argc -eq 0 -o $argc -eq 1 ]; then
  echo "foo"
else
  echo "bar"
fi

39;;; = &quot &quot sh 는 내가 don& 것 같지는 않다. 사용 = &quot "; 문장열 eq 를 비교하는 비교 및 정수.

man test

자세한 내용은.

해설 (4)
  • $ 가능* 상태 코드를 사용하는 경우, 배시 종료하십시오 변수로 it& # 39 의 더 나은 방법은 다음과 같습니다.
if [ $? -eq 4 -o $? -eq 8 ] ; then  
   echo "..."
fi

왜냐하면 만약 할 수 있습니다.

if [ $? -eq 4 ] || [ $? -eq 8 ] ; then  
        • 변수 $? 이 과정에서 왼쪽 또는 오른쪽 부분에 변경합니다 때문에 $ # 39 는 원래 별로 없는, 또는 doesn& 가능 값입니다.
해설 (1)

가끔 사용해야 할 때, 그렇지 않으면 같은 오류가 발생할 연산뿐 브래킷에 인수만 너무 많습니다.

if [[ $OUTMERGE == *"fatal"* ]] || [[ $OUTMERGE == *"Aborting"* ]]
  then
fi
해설 (1)

배시 (bash 스크립트입니다 경우

If [[ $input -gt number  ||  $input  -lt number  ]]
then 
    echo .........
else
    echo .........

fi

exit
해설 (0)

당신은 이 같은 일이 했다.

if [ $# -eq 0 ] || [ $# -gt 1 ] 
then
 echo "$#"
fi
해설 (2)

[1] 에서 [Bash 참조서 3.4.2 특수 매개변수입니다]

&gt. # ($ #) 로 확장됨 위치 매개변수의 수를 소수점.

따라서 '$ #' 는 항상 0 또는 사용할 수 있고, 더 큰 정수이다.

그래서 스케쳐내 때마다 뭔가를 '$ #' 는 0 또는 1 보다 큰 있는지의 여부를 확인할 수 있는 '$ #' 그냥 '1'.

[ $# -eq 1 ] && echo "1 positional param" || echo "0 or more than 1"

이 soundmixer. 문법:

[ condition ] && {things if true} || {things if false}

[1]: https://www.gnu.org/software/bash/manual/bashref.html # 특수 매개변수입니다

해설 (2)
  • 및 bash *
 line1=`tail -3 /opt/Scripts/wowzaDataSync.log | grep "AmazonHttpClient" | head -1`
 vpid=`ps -ef|  grep wowzaDataSync | grep -v grep  | awk '{print $2}'`
 echo "-------->"${line1}
    if [ -z $line1 ] && [ ! -z $vpid ]
    then
            echo `date --date "NOW" +%Y-%m-%d` `date --date "NOW" +%H:%M:%S` :: 
            "Process Is Working Fine"
    else
            echo `date --date "NOW" +%Y-%m-%d` `date --date "NOW" +%H:%M:%S` :: 
            "Prcess Hanging Due To Exception With PID :"${pid}
   fi
  • 또는 bash *
line1=`tail -3 /opt/Scripts/wowzaDataSync.log | grep "AmazonHttpClient" | head -1`
vpid=`ps -ef|  grep wowzaDataSync | grep -v grep  | awk '{print $2}'`
echo "-------->"${line1}
   if [ -z $line1 ] || [ ! -z $vpid ]
    then
            echo `date --date "NOW" +%Y-%m-%d` `date --date "NOW" +%H:%M:%S` :: 
            "Process Is Working Fine"
    else
            echo `date --date "NOW" +%Y-%m-%d` `date --date "NOW" +%H:%M:%S` :: 
            "Prcess Hanging Due To Exception With PID :"${pid}
  fi
해설 (0)