Bash에서 디렉터리 내부에 있을 때 실제로 이름이나 이름의 일부를 입력하지 않고 파일이나 하위 디렉터리를 어떻게 선택할 수 있습니까?
TAB을 사용하여 웹 페이지의 여러 콘텐츠 간에 전환하는 방법과 같이 파일이나 하위 디렉터리를 열거하거나 대체하는 방법이 있습니까?
파일이나 하위 디렉터리를 여는 방법은 응용 프로그램에 따라 달라 집니까?
의 경우,
여러 하위 디렉터리 중에서 하위 디렉터리를 어떻게 선택할 수 있나요
cd
?여러 PDF 파일 중에서 하나의 PDF 파일을 어떻게 선택할 수 있습니까
evince
?
예를 들어
$ ls .
subdir1 subdir2
$ cd
아무것도 입력하지 않고 선택할 수 subdir2
있나요 ? 이상적으로는 키를 사용하여 선택하고 전환하는 것이 더 나을 것입니다. 그러면 중지하고 클릭할 수 있습니다.cd
subdir2
Tabsubdir1
subdir2
subdir2
Return
답변1
놓다
bind TAB:menu-complete
그런 다음 evince
TAB. 여러 번 클릭하여 TAB다른 파일을 찾아보세요.
답변2
파일은 다음을 통해 열거될 수 있습니다.
for file in .* * do;
# if targeted at files:
test -f "$file" || continue
# if targeted at directories:
test -d "$file" || continue
# in both cases arises the question: What about symlinks?
done
또는 (정렬 시간을 절약하기 위해)
ls --quoting-style=escape | while IFS= read file; do...
: check type like above
done
find . -type f -maxdepth 1 -printf %f\\n | while IFS= read -r file; do...
find . -type d -maxdepth 1 -printf %f\\n | while IFS= read -r file; do...
(이 find
변종은 이상한 파일 이름을 처리하지 않습니다.)