출력 파일을 출력 플래그로 요구하는 일부 타사 Perl 스크립트를 실행하고 있습니다 -o
.
안타깝게도 스크립트에는 실제 파일이 필요한 것 같습니다. 즉, 사용자는 filename.txt
0바이트의 빈 파일을 만든 다음 이 빈 파일을 스크립트 명령줄에 입력해야 합니다.
perl script1.pl -o filename.txt
질문: Bash 스크립트에서 빈 파일을 만드는 방법은 무엇입니까? 그냥 시도하면 perl script1.pl -o filename.txt
스크립트는 파일이 존재하지 않는다는 오류를 표시합니다.
답변1
touch
명령을 사용하십시오 . touch filename.txt
.
답변2
최단 경로:
>filename
답변3
빈 명령( :
) 리디렉션( > filename
) 트릭( :>
)을 사용하면 0으로 잘리거나 지정된 파일이 생성됩니다.
$ echo foo > filea
$ :> filea
$ wc -c filea
0 filea
$ rm filea
$ :> filea
$ wc -c filea
0 filea
(쉘에 NOCLOBBER 옵션이 설정되어 있으면 실패합니다.)
답변4
dd
다음과 같이 빈 파일을 만드는 데 사용할 수 있습니다.
dd if=/dev/null of=filename.txt count=0
dd
다른 방법보다 더 유용한 상황 중 하나는 efivars
파일 시스템( )을 통해 /sys/firmware/efi/efivars
EFI 변수(PK)를 생성할 때입니다.
일부 플랫폼 및 Linux 배포판에서는 파일이 immutible
" " 속성 세트( i
" "가 있는 lasattr
" " 플래그 로 표시됨)로 생성됩니다. 따라서 파일에 대한 모든 후속 작업이 실패합니다.
예를 들어, touch
파일을 생성할 뿐만 아니라 파일에 타임스탬프를 설정합니다. 마찬가지로, 파일에 대한 파이핑은 >
파일을 생성할 뿐만 아니라 실패한 다른 작업도 수행합니다. 명령 dd
은 같은 방식으로 실패하지 않는 것 같습니다.