플래그의 규칙

1. 모든 옵션의 앞에는 대시( - )문자를 붙인다. 
2. 대시 다음에는 인자 없이 여러 옵션을 붙일수 있다. 
-a - b -c = -abc 
3. 첫째 옵션 다음에 탭이나 공백을 두고 붙여야한다. 
-a arg는 맞지만 -aarg는 틀림 
4. 욥션에 인자가 있다면 생략할 수 없다. 
5. 한 명령어에서 여러개의 인자를 사용할 경우 그 인자를 콤마, 공백문자, 
탭 또는 따옴표로 구분해야한다. 즉 
-a xxx,yyy,zzz 또는 -a "xxx yyy zzz" 
6. 모든 옵션은 파일명 뒤에 있어야한다. 
7. 옵션의 끝을 나타내기 위해 대시를 중복해서 쓸 수 있다 (--) 중복대시가 
나오면 그 뒤에 나오는 인자는 대시로 시작해도 된다. 
8.옵션의 순서는 아무런 상관이 없다. 
9.옵션을 제외한 인자의 순서는 명령어에 따라서 결정되며, 명령어가 인자에 
순서를 두었다면 중요한 영향을 끼칠수 있다. 
10. 공백문자 앞 뒤에 오는 대시는 표준입력을 나타낸다.

위에 님이 말씀하신 - 는 표준출력장치로 출력됩니다. (즉 모니터) 
5번규칙만 이상하실텐데요 5번규칙은 System V초기버전은 getopt라는 
라이브러리를 제공합니다. 이것은 프로그램에 이 규칙을 강제로 적용하도록 
해서 명령행을 쉽게 분석할 수 있게 해줍니다.

자세한것은 man getopt라고 하시면됩니다.


출처 - http://kldp.org/node/21293

===================================================================================


Zend_Console_Getopt 클래스는 명령행 애플리케이션에서 옵션들과 인수들의 구문 분석을 도와줍니다.

사용자는 애플리케이션을 실행할 때 명령행 인수를 지정할 수 있습니다. 이러한 인수는 애플리케이션에 있어서 어떠한 의미를 가지고, 어떠한 방법으로 행동을 변경하거나 자원을 선택하거나 매개변수를 설정하거나 합니다. 많은 옵션들이 관례가 되고 있는 의미가 있습니다. 예를 들어 "--verbose"라는 옵션은 많은 애플리케이션에서 부가적인 출력 내용을 가능하게 합니다. 다른 옵션들은 애플리케이션에 따라서 의미가 다른 것도 있습니다. 예를 들어 "-c"라는 옵션은 grepls 및 tar에서 각각 다른 기능을 나타냅니다. 

아래에서 용어들의 정의를 합니다. 이러한 용어는 여러가지 의미로 이용되지만, 이 문서에서는 여기에서 정의한 의미로 사용합니다. 


"인수(argument)" : 명령어 뒤에 나오는 문자열. 인수에는 옵션이 붙기도 하고 붙지 않기도 합니다. 인수에 의해, 명령어의 조작 대상이 되는 자원을 지정합니다. 


"옵션(option)" : 그 명령어의 기본 행동을 어떠한 방법으로 변경하는 것을 의미하는 인수


"플래그(flag)": 옵션의 첫 부분에서, 그 옵션의 목적을 나타내는 것. 플래그 앞에는 관습적으로 하나 또는 두 개의 대시("-" 또는 "--")를 붙입니다. 하나의 대시를 붙이는 것은, 한 문자의 플래그 또는 한 문자 플래그의 클러스터인 경우입니다. 두 개의 대시를 붙이는 것은 복수 문자 플래그의 경우입니다. 긴 형식의 플래그는 클러스터화 할 수 없습니다. 


"매개변수(parameter)" : 옵션의 두번째 부분; 플래그와 함께 사용하는 데이터의 값을 지정합니다. 이것은 주어진 옵션에 적용할 수 있는 경우에 한합니다. 예를 들어, 많은 명령어는 "--verbose"옵션을 받아들이지만, 일반적으로 이 옵션은 매개변수를 가지지 않습니다. 그러나, "--user"와 같은 옵션은 거의 대부분 그 뒤에 매개변수가 필요합니다. 

매개변수는 플래그 인수 다음에 다른 인수로서 지정할 수도 있고, 또는 동일한 인수 문자열의 일부로서 지정할 수도 있습니다. 이 경우는 플래그와 매개변수를 등호("=")로 연결합니다. 후자의 형식은 긴 플래그에서만 지원하고 있습니다. 예를 들어, -u username, --user username, 그리고 --user=username는 Zend_Console_Getopt에 의해 지원되는 형식입니다.


"클러스터(cluster)" : 하나의 대시 뒤에 문자열을 연결하고, 한 문자 인수를 조합한 다중 단일 문자 플래그. 예를 들어 "ls -1str"는 네 개의 플래그들의 클러스터를 사용하고 있습니다. 이 명령어는 "ls -1 -s -t -r"와 동일합니다. 클러스터화 할 수 있는 것은 한 문자의 플래그만으로, 긴 형식의 플래그는 클러스터화 할 수 없습니다. 

예를 들어 "mysql --user=root mydatabase"에 있어서 "mysql"는 명령어, "--user=root"는 옵션, "--user"는 플래그, "root"는 옵션에 대한 매개변수가 됩니다. 또, "mydatabase"는 이 정의에 의하면 인수이지만 옵션은 아닙니다. 


Zend_Console_Getopt는, 플래그가 애플리케이션에서 사용 가능한 지 선언, 무효인 플래그가 지정되었을 경우의 에러 및 사용법 표시, 사용자가 지정한 플래그를 애플리케이션에 보고하는 인터페이스를 제공합니다.


[Note]Getopt는 애플리케이션 프레임워크가 아닙니다 
Zend_Console_Getopt는 플래그나 매개변수의 의미를 해석하는 것은 아닙니다. 또 애플리케이션의 워크플로우를 구현하거나 코드를 기동하지도 않습니다. 그러한 처리는 애플리케이션 내에서 스스로 구현해야만 합니다. 명령행을 구문 분석해서, 유저가 지정한 옵션을 객체 지향의 메소드에 질의를 보내도록 Zend_Console_Getopt 클래스를 사용할 수 있습니다. 그러나, 그 정보를 기초로 애플리케이션으로 어떠한 처리를 수행하는 것은 다른 PHP 클래스의 몫입니다. 


다음 섹션에서는 Zend_Console_Getopt의 사용법을 설명합니다.


출처 - http://kkal3.net/entry/61-Getopt-%EC%86%8C%EA%B0%9C-2?TSSESSIONkkal3net=428cca6c46fdddcf3f9b6bd072bb4fc5







'System > Common' 카테고리의 다른 글

캐리지 리턴(CR)과 라인 피드(LF), 뉴라인(/n)  (0) 2012.08.11
linux - ssh no password(자동 로그인)  (0) 2012.07.24
ssh 일반 계정 접속 제한  (0) 2012.07.16
초보자를 위한 exim4 설치하기  (0) 2012.07.10
libpcap  (0) 2012.07.09
Posted by linuxism
,



if( navigator.appName.indexOf("Microsoft") > -1 ) // IE?

{

    if( navigator.appVersion.indexOf("MSIE 6") > -1) // IE6?

    {

        // code

   }

    else if( navigator.appVersion.indexOf("MSIE 7") > -1) // IE7?  

    {

        // code

    }

}


출처 - http://www.dezrare.com/604


===================================================================================


1. 브라우저 헤더정보

<script language="javascript">
 
function userAgent()
{
 var browserType = "";
 if(navigator.userAgent.indexOf("MSIE") != -1)
 {
  browser = "IE";
  return browserType;
 }
 if(navigator.userAgent.indexOf("Firefox") != -1)
 {
  browser = "FF";
  return browserType;
 }
 if(navigator.userAgent.indexOf("Mozilla") != -1)
 {
  browser = "MZ";
  return browserType;
 }
 if(navigator.userAgent.indexOf("Opera") != -1)
 {
  browser = "OP";
  return browserType;
 }
 if(navigator.userAgent.indexOf("Safari") != -1)
 {
  browser = "SF";
  return browserType;
 }
 if(navigator.userAgent.indexOf("Mac") != -1)
 {
  browser = "MC";
  return browserType;
 }

 browser = "NG";
 return browserType;
}
</script>

2. 객체존재여부
<script language="javascript">
function userAgent()
{
 if(window.ActiveXobject){
  browser = "IE";
  return browserType;
 }
 else {
  browser = "NG";
  return browserType;
 }
}
</script>


 출처: http://blog.naver.com/cowboy0626/30007053474





Posted by linuxism
,

 

 

움직이는 GIF 그림 배경 투명하게 컴 정보 - 유틸리티

  • 덧글수 : 0

    (1)알gif에서 파일열기로 실행을 합니다.

       

    (2)움직이는 gif파일이 분해되어 나타납니다. 그중에서 투명하게 만들 대상을 선택합니다

       

    (3)두번크릭하면 프래임 편집창이 뜹니다. 그러면 투명효과 활성화를 누르고 투명설정을 누르세요

       

    (4)스포이드가 생기면 투명하게 하기를 원하는 곳으로 이동하여 해당색을 크릭하세요

       

    (5)투명색이 설정이 된 것이 눈으로 확인됩니다. 그러면 적용을 누르세요

       

    (6)다른 이름으로 저장을 하세요. 원래 그림이 '다윗'이었으니 '다윗2'로 저장해 보겠습니다

       

    (7)파워포인트로 와서 그림열기를 사용하여서 화면상에서 "다윗2'를 불러옵니다

       

    (8)움직이는 gif파일의 배경이 변경된 것이 확인되었습니다. 

     

     

    출처 - http://dj153.egloos.com/2822294

Posted by linuxism
,