특정 명령을 입력하면 가끔 다음과 같은 출력이 표시됩니다.
>
>
>
>
> 기호가 가리키는 것은 정확히 무엇입니까?
답변1
너의 경우
이 경우 ">" 기호는 다음을 누른 후 터미널이 더 많은 입력을 원한다는 의미입니다.입력하다열쇠.
귀하의 경우에는 닫히지 않은 문자열이 있습니다. 예를 들어, 다음 명령을 입력 echo "Hello
하고 Enter 키를 누르면 문자열을 닫을 때까지 ">"가 표시됩니다. 예:
다음을 입력하면:
eric@Ubuntu: /home/eric$ echo "Hello
>what?
>single quotes won't close it?'
>but double quotes will! "
다음 출력이 인쇄됩니다.
Hello
what?
single quotes won't close it?'
but double quotes will! "
이를 통해 "\n" 개행 문자를 명시적으로 입력하지 않고도 여러 줄에 걸쳐 하나의 문자열을 가질 수 있습니다.
추가 정보
이 프롬프트에 대해 ">"가 인쇄되고 다른 것이 인쇄되지 않는다는 사실은 $PS2
환경 변수에 의해 설정됩니다. 다른 것으로 설정하면 $PS2
해당 메시지가 표시됩니다.
이 프롬프트를 표시하는 또 다른 방법은 줄 끝에 백슬래시("\")를 추가하는 것입니다. 기본적으로 두 줄을 함께 연결합니다. 예를 들어 다음 두 줄은 다음과 같습니다.
eric@Ubuntu: /home/eric$echo "Hello \
>There my friend"
으로 처리되어 eric@Ubuntu: /home/eric$echo "Hello There my friend"
출력됩니다 Hello There my friend
.
이 두 가지 방법 모두 코드를 더 읽기 쉬운 형식으로 지정하는 데 사용됩니다. 원인이 무엇인지 실제로 알지 못하기 때문에 처음 몇 번은 실망스러울 수 있지만 더 긴 코드나 코드의 출력을 읽기 쉽게 만들려고 하면 둘 다 유용할 것입니다.
답변2
예를 들어 터미널에 다음을 입력하는 경우 파이프를 사용하여 파일에 정보를 추가할 수도 있습니다.
echo "Test Line" > test.txt
그러면 test.txt 파일의 내용이 끝에 개행 문자가 있는 "Test Line"으로 설정됩니다. 파일이 아직 존재하지 않으면 생성됩니다.
echo "Test Line" >> test.txt
이렇게 하면 test.txt 파일 끝에 "Test Line"과 개행 문자가 추가됩니다(있는 경우). 존재하지 않으면 파일이 비어 있게 생성되고 이 줄이 파일에 추가됩니다.
답변3
>
스트림을 다음으로 리디렉션하는 것을 의미합니다.
>>
리디렉션을 의미하지만 마지막에는
그것은에만 적용됩니다표준 출력
반면 2>
에 적용되는표준 오류, 분명히 사용하는 1>
것은 다음과 같습니다>
표준 출력정상적인 프로그램 출력입니다.표준 오류프로그램의 오류 출력입니다. 따라서 두 개의 출력이 있습니다. 다음을 사용하여 두 출력을 리디렉션할 수 있습니다.&>
자세한 내용은 여기http://www.tldp.org/LDP/abs/html/io-redirection.html