큰 파일 이름으로 Bash 쉘에서 디렉토리 변경


0

소프트웨어 설치 프로그램이 포함 된 일련의 디렉토리를 탐색해야합니다. 모든 빌드가 들어있는 기본 폴더로 가져 오는 작은 bash 함수를 작성했지만 하위 디렉토리의 파일 이름은 엄청나게 길다.

기본 폴더의 이름은 "release"이며 "Build 10-0.0.3580-ecb871131857710a"와 같은 이름의 디렉토리를 포함합니다. William Shotts Jr.의 저서 "리눅스 커맨드 라인 : 완전한 소개"를 읽었으며 매우 훌륭하고 철저했지만이 문제를 해결하는 데 대한 통찰력을 얻지 못했고 동료들은 알지 못하는 것 같습니다. 더 간단한 방법 중 하나입니다.

누구 든지이 문제를 해결하기 위해 연구 할 수있는 제안이나 일반적인 방법을 줄 수 있습니까? 나는 대본을 찾지 않거나 누군가에게 답을 전할 사람을 찾고 있지만 올바른 방향으로의 약간의 추진은 크게 감사하겠습니다.


조금 길지만, 우스운 일이 아닙니다. 전체 경로를 변경해야하는 기간은 얼마나됩니까?
Barmar

무엇이 문제 입니까? 긴 파일 이름이 있습니다. 파일 시스템이이를 처리 할 수 ​​있습니다.
alexis

운영 체제에 따라 다릅니다. 우분투의 방법은 다음과 같습니다 : embraceubuntu.com/2006/01/28/turn-on-bash-smart-completion

또한 바로 가기를 만들거나 디렉토리 이름을 바꿀 수 있습니다.

문제는 내 함수 cd가 올바른 디렉토리에 있지만 "Build 10-..."다음에 엄청나게 긴 문자열로 cd해야한다는 것입니다. 빌드 폴더를 함수에 통합 할 수는 있지만 다시 작성해야합니다. 새로운 빌드를 출시 할 때마다

답변:


0

나는 작년에 학교에서 한 남자에게 배쉬 완성의 우수성을 소개하면서 TortoiseHG와는 달리 Mercurial의 커맨드 라인 버전의 우월성을 탐구하는 것을 마지 못해 깨달았습니다. 대화:

나 : cd ~를 입력하십시오

그분 : 네?

나 : 지금 탭

그 : 그리고?

나 : 슬래시와 탭 다시.

그 : 오 젠장!

나 : 입력하십시오. 예뻐요? 이제 파일을 저장 한 폴더의 첫 세 글자를 입력하십시오.

그 : 좋아?

나 : 탭

그 : 오 와우! 이것은 정말 유용합니다!

나 : 명령 줄의 힘 ...

예 : cd Sch [탭] [입력] cd 프로젝트 [탭] [입력] cd s [탭] [탭] [tab]

그 : 그것은 작동하지 않습니다

나 : 대소 문자를 구분합니다. 작은 글자는 큰 글자와 다릅니다. 유형 Sourc [탭]

그 : 오. [tab] [입력] [tab] [입력]

나 : 아니오, 그만하십시오. 개별 폴더뿐만 아니라 전체 경로를 완성 할 수 있습니다.

그 : 오 젠장! 이거 진짜 멌있다!

다음 : 찾기 기능이있는 파일을 찾는 방법을 보여 드리겠습니다.

아마 그의 평생을 바꾸고 그의 세계관을 뒤집어 놓았습니다!


1

Linux에는 일반적으로 다음과 같은 제한이 있습니다.

  #define NAME_MAX         255    /* # chars in a file name */
  #define PATH_MAX        4096    /* # chars in a path name including nul */

"엄청나게 긴"경로 이름이 이보다 짧은 경우 문제가 없습니다.

이름에 공백이 포함되어 있으므로 항상 변수를 인용하십시오.


그의 질문은 모호하지만 실제로 명령 행 자동 완성을 요구하고 있다고 확신합니다.

네, 다른 의견을 읽은 후 당신이 옳다고 생각합니다.
Barmar

@Dave이 경우에는 SO에 대한 주제가 아닙니다.
Barmar

바 마르, 나는 그것이 어떻게 주제를 벗어난 지 잘 모르겠습니다. 이 실수를 다시는하지 않도록 설명해 주시겠습니까?

알았어, 앞으로 나아갈 것이다. 많은 감사합니다!
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.