«shell» 태그된 질문

쉘은 Unix의 명령 행 인터페이스입니다. 쉘에 대화식으로 명령을 입력하거나 작업을 자동화하는 스크립트를 작성할 수 있습니다. / bin / sh 및 가장 호환 가능한 쉘 (ash, bash, ksh, zsh,…)에 적용되는 질문에이 태그를 사용하십시오. 오류가있는 쉘 스크립트는 여기에 게시하기 전에 http://shellcheck.net에서 확인하십시오.


13
디렉토리에 몇 개의 파일이 있는지 계산하는 가장 효율적인 방법은 무엇입니까?
CentOS 5.9 다른 날 디렉토리에 많은 파일이있는 문제가 발생했습니다. 그것을 계산하기 위해, 나는 달렸다ls -l /foo/foo2/ | wc -l 단일 디렉토리에 백만 개가 넘는 파일이 있다는 것이 밝혀졌습니다 (긴 이야기-근본 원인이 수정되었습니다). 내 질문은 : 더 빠른 계산 방법이 있습니까? 카운트를 얻는 가장 효율적인 방법은 무엇입니까?
55 bash  shell  directory  ls 

5
변수에서 파일 이름으로 현재 날짜 추가
다음과 같이 파일 이름 끝에 현재 날짜를 추가하려고합니다. TheFile.log.2012-02-11 여기 내가 지금까지 가지고있는 것입니다 : set today = 'date +%Y' mkdir -p The_Logs & find . -name The_Logs -atime -1 -type d -exec mv \{} "The_Logs_+$today" \; & 그러나 내가 얻는 것은 파일 이름이며 아무것도 추가하지 않습니다. 파일 이름에 현재 …
55 bash  shell  rename  date 

10
두 리모컨 사이에서 파일을 재 동기화하는 방법은 무엇입니까?
로컬 쉘을 사용하여 두 개의 원격 호스트간에 파일을 전송하고 싶지만 두 개의 원격이 다음과 같이 지정된 경우 rsync가 동기화를 지원하지 않는 것 같습니다. $ rsync -vuar host1:/var/www host2:/var/www The source and destination cannot both be remote. 비슷한 결과를 얻기 위해 사용할 수있는 다른 해결 방법 / 명령은 무엇입니까?
54 shell  ssh  rsync 


8
`rm`을 휴지통으로 이동
파일을 삭제하는 대신 특별한 "휴지통"위치로 옮기는 Linux 스크립트 / 응용 프로그램이 있습니까? 나는 이것을 대신하기를 원합니다 rm(후자를 별명으로 할 수도 있습니다; 그것에 대한 장단점이 있습니다). “휴지통”이란 특별한 폴더를 의미합니다. 단일 mv $* ~/.trash단계는 첫 번째 단계이지만 이상적으로는 오래된 휴지통 파일을 덮어 쓰지 않고 동일한 이름의 여러 파일을 휴지통으로 처리 하고 …
54 shell  rm 

2
'tail -f'에 해당하는 'less'명령 줄
less를 사용하여 파일을 열고 싶습니다 tail -f. 와 유사한 파일을 자동으로 스크롤하십시오 . 나는 내가 할 수 있다는 것을 알고 less file공격 후, 그리고 Shift-F영원히 전달; 처럼 tail -f. 입력이 화려하기 때문에 필요한 플래그를 less제공하기 때문에 필요 합니다 --raw-control-chars.
54 shell  less  tail 

3
쉘 스크립트에서 환경 변수를 "내 보낸"방법은 무엇입니까?
Amazon EC2 계정이 여러 개 $EC2_HOME있는데 스크립트를 사용하여 와 같은 변수를 빠르게 전환하려고합니다 . 다음과 같이 쉘 스크립트를 설정했습니다. #!/bin/sh export EC2_HOME=/home/me/.ec2 echo $EC2_HOME 스크립트를 실행할 때 EC2_HOME설정된 것으로 알고 있지만 export스크립트가 완료된 후 를 사용 하면 변수 가 계속 사용 된다고 생각했습니다 . 달리기 echo $EC_HOME는 아무것도 표시하지 않기 …

4
물결표 (~)가 큰 따옴표로 확장되지 않는 이유는 무엇입니까?
에 따르면 이 대답 하고 내 자신의 이해, 물결표는 홈 디렉토리로 확장 : $ echo ~ /home/braiam 이제 쉘 확장이 작동하기를 원할 때마다 (예 : 변수 이름 사용) $FOO예기치 않은 문자, 공백 등으로 인해 중단되지 않습니다. 큰 따옴표를 사용해야합니다 ". $ FOO="some string with spaces" $ BAR="echo $FOO" $ echo …
54 shell 


4
Bash star * 와일드 카드는 항상 (오름차순) 정렬 목록을 생성합니까?
logXXXX는 다음 과 같은 이름을 가진 파일로 채워진 디렉토리가 있습니다 . log00 log01 log02 ... log0A log0B log0C ... log4E log4F log50 ... 일반적으로 총 파일 수가 20 개 또는 30 개 미만입니다. 내 특정 시스템의 날짜 및 시간은 신뢰할 수있는 NTP 또는 GPS 시간 원본이없는 내장형 시스템이 아닙니다. 그러나 …
53 bash  shell  wildcards 

6
shebang이 / bin / bash가 아닌 / bin / sh를 가리키는 이유가 있습니까?
내가 본 대부분의 쉘 스크립트 (내가 작성하지 않은 스크립트) 외에도 shebang이로 설정되어 있음을 알았습니다 #!/bin/sh. 이것은 오래된 스크립트에서 나를 놀라게하지는 않지만 상당히 새로운 스크립트에도 있습니다. 선호에 대한 이유가 /bin/sh이상은 /bin/bash이후 bash십 년에 걸쳐 다시 잘되어 가고 많은 리눅스와 BSD 시스템에서, 거의 편재, 종종 기본?
53 bash  shell  history  shebang 

1
'rm. *'은 상위 디렉토리를 삭제합니까?
.*bash로 표현식 을 확장하여 현재 및 상위 디렉토리를 포함합니다. $ ls -la total 2600 drwxrwxrwx 2 terdon terdon 2162688 Sep 10 16:22 . drwxr-xr-x 142 terdon terdon 491520 Sep 10 15:34 .. -rw-r--r-- 1 terdon terdon 0 Sep 10 16:22 foo $ echo .* . .. 내가 실행하면 rm -rf …
53 shell  wildcards  rm  posix 

7
쉘 스크립트에서 타임 아웃
나는이 쉘 스크립트 있어 표준 입력에서 읽기 . 드문 경우이지만 입력을 제공 할 준비가 된 사람이 없으며 스크립트가 시간 초과 되어야합니다 . 시간 초과의 경우 스크립트는 정리 코드를 실행해야합니다. 가장 좋은 방법은 무엇입니까? 이 스크립트는 C 컴파일러가없는 20 세기 유닉스 시스템과 busybox를 실행하는 임베디드 장치를 포함하여 이식성이 뛰어나므로 Perl, bash, …
53 shell  signals  timeout 

2
특정 변수 만 envsubst로 교체
를 통해 환경 변수 교체를 수행하려고 envsubst하지만 특정 변수 만 바꾸고 싶습니다. 문서에서 envsubst특정 변수 만 바꾸 라고 말할 수는 있지만 그렇게 할 수는 없습니다. 예를 들어 다음이 포함 된 파일이있는 경우 : VAR_1=${VAR_1} VAR_2=${VAR_2} 에 대한 envsubst참조 만 대체하도록 어떻게 실행해야 ${VAR_1}합니까?

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