에코 >> 작동하지 않음

집시 우주 비행사

이것이 내가 단계적으로 달성하려는 것입니다.

  1. ls
  2. 그런 다음 출력을 뒤집습니다.
  3. 그런 다음이 파일의 마지막에 새 줄을 추가하십시오.

따라서 다음 한 줄 스크립트를 만들었지 만 오류가 발생합니다.

(ls | tac | echo >>) > ./foobar

여러 명령으로 분할하여이 작업을 수행 할 수 있지만 하나의 명령으로이 작업을 수행하려고합니다.

echo >> ./foobar파일 끝에 새 줄을 삽입 하기 때문에 혼란 스럽습니다 .

그렇다면 내 코드 줄이 작동하지 않는 이유는 무엇입니까? echo >>파일 설명자 끝에 새 줄을 추가하지 않고 대신 오류를 표시하는 이유 무엇 입니까? 내가 여기서 뭘 잘못하고 있니?

Gilles 'SO- 그만 사악함'

명령이 구문 분석되는 방법은 다음과 같습니다.

  • (…)복합 명령입니다. 괄호의 내용은 서브 쉘에서 실행됩니다.
    • ls | tac | echo >>ls, tac의 세 부분으로 구성된 파이프 라인 echo >>입니다. 가장 왼쪽 부분의 출력은 두 번째 부분의 입력에 연결되고 두 번째 부분의 출력은 가장 오른쪽 부분의 입력에 연결됩니다.
    • ls 실행 파일을 실행하는 간단한 명령입니다.
    • tac 실행 파일을 실행하는 간단한 명령입니다.
    • echo >>구문 상 정확하지 않습니다. >>연산자 파일명 뒤에해야하고, 파일 이름이 누락된다.
  • > ./foobar복합 명령의 출력을 파일로 리디렉션합니다 ./foobar.

입력을 지시하는 echo것은 의미가 없습니다. 입력을 읽지 않습니다. echo다른 명령의 출력에 추가하는 데 사용하려면 병렬이 아닌 다른 명령 echo 다음 에 실행 하십시오.

ls | tac; echo

The output of echo is going to the same place as the output of tac, so there's no need for any redirection.

( ls | tac; echo ) >./foobar

You don't need a subshell here. A simple grouping will do. (See Simple logical operators in Bash for a summary of bash's parenthesis-like operators.)

{ ls | tac; echo; } >./foobar

Using the >> operator to append would only be needed if you were appending to an already-existing file. This is not the case here: all the commands go to the same location, the file foobar is only opened once, and remains open as long as the whole compound command is executing. The >> operator would be needed if you opened the file twice:

ls | tac >./foobar; echo >>./foobar

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

PHP 에코가 작동하지 않음

분류에서Dev

에코 >> 작동하지 않음

분류에서Dev

cURL 코드가 작동하지 않음

분류에서Dev

CSRF 코드가 작동하지 않음

분류에서Dev

코드가 작동하지 않음 (JavaScript)

분류에서Dev

recursetree 코드가 작동하지 않음

분류에서Dev

WebGL 코드가 작동하지 않음

분류에서Dev

코드가 작동하지 않음

분류에서Dev

Ansible 코드가 작동하지 않음

분류에서Dev

WPF 지역화가 코드 뒤에서 작동하지 않음

분류에서Dev

Chrome에서 작동하는 jQuery 코드-Safari에서 작동하지 않음

분류에서Dev

asp.net 코어에서 datetimepicker가 작동하지 않음

분류에서Dev

Unity 코 루틴이 씬에서 작동하지 않음

분류에서Dev

vscode python에서 코드 탐색이 작동하지 않음

분류에서Dev

Excel VBA 코드가 If 문에서 작동하지 않음

분류에서Dev

PHP CLI에서 PHP 코드가 작동하지 않음

분류에서Dev

에코 임원이 작동하지 않음 Tesseract

분류에서Dev

angularjs 코드 아래에서 작동하지 않음

분류에서Dev

Ajax 반환 코드에서 jQuery가 작동하지 않음

분류에서Dev

laravel에서 PHP Json 디코딩이 작동하지 않음

분류에서Dev

루프 내부에 배치 코드가 작동하지 않음

분류에서Dev

Postman에서 생성 된 RestSharp 코드가 작동하지 않음

분류에서Dev

CloudKit에 레코드 저장이 작동하지 않음

분류에서Dev

에코 cmd | 명령이 제대로 작동하지 않음

분류에서Dev

코드가 작동하지 않음 : ocaml에서 배열 정렬

분류에서Dev

PHP 에코 코드에서 JQuery 함수가 작동하지 않음

분류에서Dev

Docker / Kubernetes에서 작동하지 않음

분류에서Dev

$ .phonegap cordova에서 작동하지 않음

분류에서Dev

MongoDB : Windows에서 작동하지 않음

Related 관련 기사

뜨겁다태그

보관