«io-redirection» 태그된 질문

I / O 리디렉션은 셸 스크립팅에 사용됩니다. 이 기능을 사용하면 명령의 출력을 가져 와서 다른 명령의 입력으로 리디렉션하거나 명령이 표준 입력 스트림이나 터미널 대신 파일에서 입력을 가져올 수 있습니다. 전체 프로세스는 다양한 방식으로 데이터 스트림을 연결하는 데 도움이됩니다.

2
`cat <> file`은 어떻게 작동합니까?
cat &lt; file파일 의 내용 을 stdout에 인쇄합니다 . cat &gt; fileCtrl+ D가 감지되고 입력 텍스트가 file에 쓰여질 때까지 stdin을 읽습니다 . cat &lt;&gt; file적어도 내 Bash 버전에서 파일 의 내용을 행복하게 인쇄 하지만 오류없이 파일을 수정하지 않으며 수정 타임 스탬프를 업데이트하지 않습니다. 어떻게 배쉬 표준은 겉으로는 무시 정당화 않습니다 …

3
exec를 사용하여 모든 후속 명령의 stderr를 리디렉션하십시오.
모든 출력을 하나의 파일, 디버그 로그 및 터미널로 리디렉션 해야하는 bash 파일이 있습니다. stdout과 stderr을 디버그로 리디렉션하고 스크립트의 모든 명령에 대해 로깅해야합니다. 2&gt;&amp;1 | tee -a $DEBUG파일의 모든 단일 명령에 대해 추가하고 싶지 않습니다 . 나는 함께 살 수있었습니다 | tee -a $DEBUG. 나는 이와 같은 일을 할 수있는 방법이 …

5
파일 내용을 "echo"명령으로 리디렉션
my_file.txt내용이 문자열 인 파일 이 있습니다 Hello. 내용을 명령으로 echo어떻게 리디렉션 할 수 있습니까? 내가 명령을 알고 less, cat, more...하지만 난 그것을 할 필요 echo. 나는 이것을 시도했다 : $ cat my_file.txt | echo 또한 이것 : $ echo &lt; my_file.txt 그러나 두 경우 모두 my_file.txt의 내용이 아닌 stdout에 공백으로 …

4
nc listen 대신 / dev / tcp listen
다음과 같은 netcat 리스너를 사용하십시오. nc -l &lt;port&gt; &lt; ~/.bashrc 다음을 사용하여 새 컴퓨터 ( nc또는 LDAP 가없는)에서 .bashrc를 가져올 수 있습니다 . cat &lt; /dev/tcp/&lt;ip&gt;/&lt;port&gt; &gt; ~/.bashrc 내 질문은 : nc -l &lt;port&gt;/ dev / tcp 대신 첫 번째 줄 의 기능을 모방하는 방법 이 nc있습니까? 내가 작업하는 컴퓨터는 …

4
“>”명령의 올바른 이름은 무엇입니까
&gt;명령을 사용하여 이미 존재하는 내용을 덮어 쓰지 않고 텍스트를 파일에 전달하는 방법을 찾으려고 했지만 그 이름을 모른다는 것을 깨달았습니다. 검색 오른쪽 화살표 또는 권리 갈매기 나 보다 더 많은 명령은 아무것도 표시하지 않았다. 나는 항상 방금 전달했다 .

7
한 파일을 다른 파일로 리디렉션하는 것이 UUOC (cat의 쓸모없는 사용)입니까?
내용을 내용과 file2일치 시키려면 file1분명히 실행할 수 있습니다 cp file1 file2. 내가 보존하려는 경우, 모든 약 file2 을 제외 등의 내용 소유자, 권한, 확장 속성, ACL을, 하드 링크, 등, 그때 실행 싶지 않을 것이다 cp. * 난 그냥를 풍덩하려는 경우 의 내용 file1에 file2. 다음과 같이 보입니다. &lt; file1 &gt; …

4
bash로 파일에서 줄 읽기 : for vs. while
bash 스크립트를 사용하여 텍스트 파일을 읽고 각 줄로 무언가를하려고합니다. 그래서 다음과 같은 목록이 있습니다. server1 server2 server3 server4 나는 while 루프를 사용하여 이것을 반복 할 수 있다고 생각했다. while read server; do ssh $server "uname -a" done &lt; /home/kenny/list_of_servers.txt while 루프는 1 회 실행 후 중지되므로 uname -aserver1 에서만 실행 …

7
2> & 1> output.log와 2> & 1 |의 차이점 | 티 output.log
다음 두 명령의 차이점을 알고 싶었습니다. 2&gt;&amp;1 &gt; output.log 과 2&gt;&amp;1 | tee output.log 동료 중 하나가 두 번째 옵션을 사용하여 리디렉션하는 것을 보았습니다. 나는 2&gt; &amp; 1이 무엇을하고 있는지, 나의 유일한 질문은 간단한 리디렉션 "&gt;"연산자를 사용할 수있는 티를 사용하는 목적이 무엇인가?




2
“<<(…)”리디렉션이란 무엇입니까?
rvm (ruby version manager)이 다음 명령을 사용하여 설치되는 것을 보았습니다. bash &lt; &lt;(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer ) 그래서 내가 이해로 우리는 스크립트 콘텐츠를하고 떠들썩한 파티에 전달 (나는 생각 &lt; &lt;하고 &lt;&lt;? 같은 일이다) 나는에 관심이 &lt; &lt;부분, 그물에 설명을 다음 발견 : &lt;&lt; 토큰 평균은 토큰이 보일 때까지 현재 입력 스트림을 …

1
파일 디스크립터 및 쉘 스크립팅
쉘 스크립트에서 파일 설명자를 사용하는 방법을 이해하는 데 어려움을 겪고 있습니다. 나는 같은 기본을 알고 exec 5 &gt; /tmp/foo 따라서 fd 5는 쓰기 위해 foo에 첨부됩니다. exec 6 &lt; /tmp/bar … 독서를 위해. exec 5&gt;&amp;- … fd를 닫습니다. 이제 이것이 무엇입니까? #!/bin/bash exec 5 &gt; /tmp/foo exec 6 &lt; /tmp/bar …

2
파일을 비교하여 명령에서 출력하는 방법은 무엇입니까?
일반적으로 다음과 같이 작성합니다. diff file1 file2 그러나 파일을 비교하고 명령에서 출력하고 싶습니다 (여기서는 명령을 사소한 것으로 만듭니다). diff file1 &lt;(cat file2 | sort) 좋아, 이것은 쉘 프롬프트에서 수동으로 입력 할 때 작동하지만 쉘 스크립트에 정확히 동일한 줄을 넣은 다음 스크립트를 실행하면 오류가 발생합니다. 그래서 문제는-이것을 올바르게하는 방법은 무엇입니까? 물론 …

1
SSH로 인해 while 루프가 중지됨
나는 마침내 몇 주 동안 어려움을 겪고있는 문제를 해결했습니다. "권한 키"와 함께 SSH를 사용하여 명령을 원격으로 실행합니다. while 루프에서 할 때를 제외하고는 모두 괜찮습니다. ssh 명령으로 반복을 완료하면 루프가 종료됩니다. 오랫동안 나는 이것이 일종의 ksh 기묘하다고 생각했지만 지금은 bash가 실제로 동일하게 작동한다는 것을 알았습니다. 문제를 재현하는 작은 샘플 프로그램. 이것은 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.