여기서 쉘 문헌 21 / 문자열

문서 사용 여기

여기 "가 포함 된 문서", "포함 된 문서", "지금 문서"으로 이해 될 수있는 문서로 데이터 또는 명령을 처리 할와 함께 부호 열을 처리 할 수있는 명령에 대한 적절한 데이터 양이 불필요하게 작다 의 경우 별도의 파일을.

일반적으로 짧은 스크립트에서 데이터의 여러 행을 삽입 할 때, 말하기, 여기에 문서 (데이터 유용하지만, 많은 데이터를 삽입하거나 로직 (코드)와 귀하의 의견을 유지한다 바람직하게는 다른 파일) 분리.

용법 설명
<< END 명령의
    문서
END
  1. command셸은 명령이며, <<END스타트 플래그, END엔드 플래그가 document입력 문서이다 (선 열함으로써, 광고가 있음).
  2. 사용 Akebayashi 명령 프로세싱 문서 데이터 부분은 (END 터미네이터 판독되지 않는다) 터미네이터 END까지 만날 때까지
  3. 터미네이터 END는 별도의 행에 있어야하며 상단 그리드 기입해야합니다. 터미네이터는 별도의 라인을 작성하는 상단 그리드 아니다, 그것은 완료 플래그로되지 않습니다, 일반 데이터 스트림에 발생할 수 있습니다.
  4. 터미네이터는 사용자에 의해 정의 될 수있다
  5. 단일 또는 이중 따옴표 구분 문서 명령을 대체 할 수있는 서라운드 실패
  6. 에서 <<END증가 사이-来消除制表符的影响
  7. Here Document 常用于向用户显示命令或者脚本的用法信息
수요 스크립트 결과

cat 명령은 일반적으로 파일과 화면에 내용을 출력 읽기

문서 다음으로, cat 명령은 키보드에서 읽을 수 있습니다

 고양이 << TEST

> TEST1

> 테스트

> 테스트 # 종료 전에 스페이스는 적용되지 않습니다

> 테스트 # 위로 그리드는 터미네이터를 작성, 출력하지

TEST1

 테스트

 테스트

<제 2 층은 명령 프롬프트 인

표시는 본체의 단부가 발생할 수 TEST는 별도의 행없는만큼,하지만

쓸 수없는 상단 그리드, 나는이 적용되지 않습니다.

대문자로 스크립트 파일, 컨텐츠 및 문서 변환의 다음 문서 사용.
  1. #! / 빈 / bash는
  2. # 즉시 스크립트 파일에 기록
  3. TR AZ AZ << END 
  4. 하나 둘 셋
  5. ABCDEFGH
  6. 종료

하나 둘 셋

ABCDEFGH

변환에 TR 명령은 대문자가 소문자 말했다

명령 대체

그리고 기본적으로 명령, 문서 Shell은 첫째 나중에 대체합니다, 평가 또는 실행됩니다 변수 또는 명령에 표시

그들은 수 있습니다 실패 셸을 대체하는 단일 또는 이중 따옴표 차종 구분 기호 둘러싸여

1. 기본적으로

  1. = qpy 이름
  2. 고양이 << END
  3. > $ {이름} 여자입니다
  4. > END

2. 싱글 / 더블 따옴표 실패 END를 대체 할 수있는 명령

1) 작은 따옴표

  1. 고양이 << 'END'
  2. > $ {이름} 여자입니다
  3. > END

2) 큰 따옴표

  1. 고양이 << "END"
  2. > $ {이름} 여자입니다
  3. > END

출력 : qpy는 소녀

输出 : $ {이름} 여자입니다

输出 : $ {이름} 여자입니다

의 경우 스크립트 파일에서 다음 문서는 문서의 라인은 탭의 첫번째 사용의 경우,

기본적으로, 탭의 첫 번째 행은 신체의 일부로 간주 할 수 있지만도 에서 <<END사이 증대-来消除制表符的影响

 

탭은 주로 코드 정렬을 위해 사용된다

1. 기본적으로

#! / 빈 / bash는

고양이 << END

        AAA

        BBB

CCC

종료

2. <<END증가 사이-来消除制表符的影响

#! / 빈 / bash는

고양이 << - END

        AAA

        BBB

CCC

종료

수출

  1. AAA
  2. BBB
  3. CCC

 

수출

  1. AAA
  2. BBB
  3. CCC
사용자 명령 또는 스크립트에 다음 문서 가장 일반적으로 사용되는 기능이나 디스플레이 사용 정보

 

문자열 사용 여기

여기에 문자열 다음은 문서의 변형입니다

용법 설명
명령 <<< 문자열
  1. 쉘 명령은 명령이 문자열은 일반 문자열입니다.
  2. Here String可用于发送较短数据到进程中
  3. 当字符串中有空格时,必须使用单引号或双引号将字符串包围起来
  4. 使用双引号或不适用引号包围字符串时会解析字符串中的变量
  5. 使用单引号包围字符串时不会解析字符串中的变量
  6. 使用引号是,Here String 还可以接收多行字符串作为命令的输入
  7. 与 Here Document 相比,Here String 在发送变量内容(而不是文件)到像 grep 或者 sed 这样的过滤程序时相当方便
需求 脚本 结果
将小写字符串转换为大写字符串

tr a-z A-Z <<< one

ONE
使用双引号,会解析字符串中的变量

tr a-z A-Z <<< "one two three"

var=two

tr a-z A-Z <<<"one $var there"

ONE TWO THREE

ONE TWO THREE

使用单引号,不会解析变量

var=two

tr a-z A-Z <<<'one $var there'

ONE $VAR THERE

使用引号,Here String 可以接收多行字符串作为命令的输入

tr a-z A-Z <<<"one two there > four five six > seven eight"

ONE TWO THERE FOUR FIVE SIX SEVEN EIGHT

추천

출처www.cnblogs.com/mianbaoshu/p/12069763.html