파일 매개변수의 "-"는 무엇을 의미합니까? [복사]
이 질문에는 이미 답변이 있습니다.: ...
$ mkfifo mypipe $ echo "hello redirection" > mypipe $ cat < mypipe hello redirection Python을 사용하여 위의 작업을 수행하려고 할 때 문제가 있습니다. # pyecho.py with open("/dev/stdin", "r") as f: print(f.read()) $ python3 pyecho.py < mypipe 파이프에 두 번 쓰지 않으면 종료되지 않습니다. $ echo "hello redire...
24시간마다 하나씩 stdout에 동적으로 생성되는 대용량 파일이 있습니다. 이러한 파일을 테이프에 점진적으로 보관하고 싶습니다. 가급적이면 여러 테이프에 걸쳐 있을 수 있는 단일 아카이브에 보관하고 싶습니다. Tar는 아카이브에 추가하고 다음 테이프를 로드하는 기능이 내장되어 있으므로 테이프 관리에 적합합니다. 그러나 표준 입력에서 데이터를 받아들이는 데는 매우 열악합니다. 내가 무엇을 하든 결국 아카이브의 내용 대신 특수 파일(링크 또는 명명된 파이프)이 아카이브에 기록됩니다. 다음은 제가 시도한...
나는 이것을 알려주는 일부 명령이나 환경 변수를 기억하는 것 같습니다. 예를 들어, 저는 기본적으로 터미널에서 무언가를 실행하고 싶습니다. echo $STDIN /dev/tty echo $STDOUT /dev/tty fdescribe 0 or fdescribe /dev/stdin /dev/tty fdescribe 1 or fdescribe /dev/stdout /dev/tty 그러나 스크립트나 하위 프로세스에서 실행될 수 있습니다. ...
터미널에 사용자의 입력이 필요한 스크립트가 있으므로 stdout을 파일로 리디렉션하여 스크립트를 호출하면 사용자에게 프롬프트에 대한 컨텍스트가 없습니다. 그래서 표준 출력을 두 사이트 모두에 복사하고 싶습니다. 스크립트는 미적분학을 출력하므로 stdout 리디렉션을 허용하는 것이 여전히 의미가 있습니다. 그러나 stdin이 제공되면(yes 명령이나 cron과 같은 비대화형 컨텍스트와 유사) tty에 있을 필요 없이 출력을 허용하는 것이 합리적입니다. 그래서 다음과 같은 논리를 수행하고 싶습니다. If...
stdin: 일반 표준 입력( 의 약자 stdin)은 키보드에서 나옵니다. stdin입력할 때는 (표준 입력 단자)에 입력합니다. 표준 입력 장치(일반적으로 키보드)를 사용하지만 Linux에서는 파일에서 표준 입력을 얻을 수도 있습니다. 예를 들어: cat < myfirstscript cat이는 키보드가 아닌 파일에서 입력을 받도록 지시합니다 myfirstscript(물론 :) 과 동일합니다 cat myfirstscript. cat본질적으로 이는 명령( )에 대한 입력이 더 이상 예상 위치(...
bash에 stdin에서 한 줄을 읽고 파일에 직접 쓸 수 있는 방법이 있나요? 그것은 다음과 같습니다: t="$(mktemp)" while true do [read single line from stdin] > "${t}" [nothing to read] && break printf '%s\n' "$t" t="$(mktemp)" done 사용 가능한 메모리가 제한되어 있어 줄이 터무니없이 길어질 수 있습니다. 그렇지 않으면 나는 읽는 동안 루프를 수행할 것입니다....
다음 세 가지 텍스트 파일이 있습니다. #1.txt hey stackoverflow #2.txt hey stackexchange #3.txt hello world 나는 이 명령을 사용하여 내 디렉토리의 마지막 3개 파일을 나열한 다음 cat이를 나열하고 3개 파일의 모든 출력을 파일( all.txt) 에 저장합니다. 주문하다: ls -alth *txt | head -3 | xargs -n1 cat 출력을 파일로 리디렉션하려면 어떻게 해야 합니까? ...
저는 학생이고 파일 이름에 따옴표, 큰따옴표 및 기타 기호가 포함된 단어를 할당하는 연습을 시도하고 있습니다. 문제는 기대했던 결과를 얻지 못한다는 것입니다. 스케이프 바를 사용하여 기호를 스케이프하고 있지만 파일 이름을 나열하면 파일 이름의 시작과 끝에 예상치 못한 작은 따옴표가 나타나고 스케이프 바는 작은 따옴표 앞에 있어야 하는 작은 따옴표로 둘러싸여 있습니다. 파일 이름의 일부입니다. 다소 혼란스럽습니다. 다음을 보여드리겠습니다. $ echo > \"\\\?\$\*\'\'\*\$\?\\...
나는 이 질문을 여러 번 받았지만 나에게는 도움이 되지 않는 것 같습니다. [[ ! -t 0 ]]= 표준 입력에 어떤 내용이 포함되어 있습니까? 이 명령은 다음과 같습니다. echo 'Hello world' | [[ ! -t 0 ]] echo $? 올바른 출력을 제공합니다: 0즉, 표준 입력에는 무엇이든 포함됩니다. 이 명령은 다음과 같습니다. [[ ! -t 0 ]] echo $? 올바른 출력을 제공합니다: 1즉, 표준 입력이 비어 있습니다. 대신 다음 명령을 사용하세요. : | [[ ! -t...
나는 base64명령 붙여넣기 입력을 호출하고 후행 개행을 피하기 위해 두 번 눌러 Ctrl + Dstdin에서 인코딩하는 것을 좋아합니다(개행이 입력의 일부가 되는 것을 원하지 않는 경우). echo쉘 기록에 데이터를 남기는 것을 방지합니다 . 그러나 출력은 입력 바로 뒤에 작성되므로 값을 검색하기가 어렵습니다. $ base64 Input without trailing newlineSW5wdXQgd2l0aG91dCB0cmFpbGluZyBuZXdsaW5l 내가 닮을 수 있는 방법이 없을까? $ ba...
쉘 스크립트에서는 쉘 스크립트와 동일한 표준 입력을 사용하여 백그라운드 명령을 시작하려고 합니다. #!/bin/sh # ... the-program & 그러나 the-program위의 방법은 쉘 스크립트와 동일한 표준 입력에 액세스할 수 없습니다. 내 쉘 매뉴얼에 따르면 (대시(1)): 쉘이 대화형이 아닌 경우 비동기 명령의 표준 입력은 로 설정됩니다 /dev/null. 시도해 보았 the-program & <&0으나 원하는 효과를 얻지 못한 것 같습니다. 표준 입력...
GNU 배시, 버전 4.3.27 출력을 파일에 쓰는 스크립트에 이상한 문제가 있습니다. 서버 목록에 연결하고 일부 서비스의 상태/하위 상태를 기록하도록 ssh를 스크립트합니다. 그런 다음 결과를 배열에 저장합니다. 그런데 콘솔 창이 실행되는 동안 무언가를 입력하면 입력이 배열에 저장되는데 $result_arr그 이유를 모르겠습니다. #!/bin/bash check_services() { server_number="$1" local result local result_arr local...
다음과 같은 간단한 스크립트가 있다고 가정해 보겠습니다 question. #!/bin/bash read -rp "What's your name?" ans echo "Your name is $ans" cat우리의 예를 사용해보자 cat question | bash 우리는 스크립트 파일의 내용을 Bash의 표준 입력에 제공하고 이를 명령으로 실행합니다. 실행되면 bash의 표준 입력이 사용되므로 파이프 앞에 배치되지 않는 한 파이프 외부의 어떤 것도 표준 입력에 입력될 수 없습니다. 이를 완화하기...
stdin, stdout 및 stderr(fds)은 어디에 있습니까?첫 번째열려 있는? 커널에서 만든건가요? 심볼릭 링크 /dev/std{in,out,err}는 언제 어디서 만들어졌습니까? 이를 수행하는 코드는 어디에 있습니까? 나는 그것이 리눅스 커널 소스에 있다고 가정하고 있지만, archlinux 6.5.3-arch1-1 리눅스 커널 github 저장소에서 검색한 후에도 어디서 발생하는지 찾을 수 없습니다. 편집: 이 질문에 반대표를 던졌다면 제가 더 잘할 수 있도록 이유를 설명해 주시겠습니까?...