2011-01-10 5 views
3

bash가 물결표 확장에 사용하는 규칙을 추가 할 수 있습니까?/data/users/me, ~/data/scratch/me 등으로 확장하는 ~ 데이터를 확장하고 싶습니다. 가능합니까, 아니면 bash가 '~'에 너무 빡빡합니다.Bash Tilde Expansion

감사합니다,

앤드류

답변

4

틸드 확장은 사용자의 홈 디렉토리 (또는 디렉토리 스택의 내용 또는 $PWD 또는 $OLDPWD)에 연결됩니다. 변수 확장, 별칭 또는 함수를 사용하여 수행중인 작업을 완료하십시오. CDPATH을 사용하여 대상 디렉토리를 검색 할 cd의 디렉토리 세트를 나열 할 수도 있습니다.

+0

정규 변수 확장은 bash가 물결표 확장을 처리하는 방식만큼 좋지 않습니다. 'cp $ DATA' 복사본을 만들고 싶다면 은 확장 된 $ DATA 파일을 내게주지 않을 것입니다. 내 집에서'cp ~' 명령으로 동일한 작업을 수행하면 그 결과는 훨씬 좋네요 ... 어떤 제안입니까? – ajwood

+0

@ajwood : 시도해 보라 : 'bind' "\ eL": "\ e \ C-e \ t \ t" '; data =/some/dir/you/choose /', 그러면 cp $ data [press Alt-Shift-L]' –

+0

Brilliant! 감사. 그것이 어떻게 작동하는지 설명해 주시겠습니까? 아니면 저를 올바른 문서에서 가리켜 주시겠습니까? – ajwood

4

~user 지정된 사용자의 홈 디렉토리로 확장됩니다. 예를 들어 홈 디렉토리가 /data/users/me 등인 data이라는 사용자를 생성하는 것입니다. 사용자를 추가하는 것은 배포판에 따라 다릅니다.

+0

루트 권한이 없습니다. 사용자 추가없이 실제로 할 수있는 방법은 없나요? – ajwood

+0

@ajwood 슬프게도 나는 그것이 가능하지 않다고 생각합니다. 당신은 해결책을 알고 있을지도 모르는 http://superuser.com에 묻는 것을 시도 할 수 있었다. – marcog

+0

변수에 "localadmin"의 물결 모양 확장 하위 디렉토리를 지정 하시겠습니까? ... USERSUBDIRVAR = \'echo ~ localadmin \' "/ 하위 디렉토리/하위 디렉토리" "echo"$ USERSUBDIRVAR "'->/Users/localadmin/Subdirectory/Sub Sub Directory' –