~ / .profile이 시작시 실행되지 않습니다


0

시스템 시작시 스크립트를 실행하고 싶습니다. ~ / .profile 파일에 다음을 추가했습니다.

WORKSPACE="~/Development/workspace"
alias workspace="cd $WORKSPACE"

시작한 후에이 "작업 공간"별칭을 사용할 수 있기를 원합니다. 이러한 변수를 정의하는 것이 올바른 장소가 아닐 수도 있습니다.


zsh의 명명 된 디렉토리를 살펴볼 수 있습니다. 만약 당신 export workspace=~/Development/workspace이 그냥 경로를 참조 할 수 있습니다 ~workspace; 예 :cd ~workspace
Michael Mrozek

@Mich 나는 방금 습관에 들어갔다. 나는 항상 투표하고 닫습니다. 이것은 투표가 마감되는 것을 볼 수 없기 때문에 낮은 담당자 (특히 op가 낮은 담당자 인 경우)의 이익을위한 것입니다
Earlz

1
@pocoa : 당신도 "시작"의 종류를 언급하지 않습니다. $ SHELL 스타트 업? 창 관리자 시작? 다른 프로그램 시작? 시스템 시작?
akira

답변:


2

WORKSPACE를 내보내고 싶습니까?

export WORKSPACE="~/Development/workspace"

'set'을 실행하고 $ WORKSPACE의 값을 그대로 볼 수 있어야합니다.이 값은 설정되었지만 내 보내지 않았기 때문에 환경 변수는 아닙니다. AFAIK, 별명은 최상위 쉘에서만 사용할 수 있습니다. .bashrc하위 쉘에서도 사용 가능하도록 별명 또는 그 주변에 별명을 배치합니다 . (자세한 내용은 배쉬 설명서의 §6.2 '배쉬 시작 파일'을 참조 또한,이없는 있는지 확인하십시오. .bash_login또는 .bash_profile홈 디렉토리에 파일을, 그 중 하나에 우선 사용됩니다 -하지뿐만 아니라 - .profile. )

또 다른 가능성은 Bash 또는 Korn 셸을 사용하도록 구성되지 않은 것입니다. 나는 그럴 것 같지 않지만 완전히 질문에서 벗어난 것은 아닙니다. C 셸 제품군은 대신 파일 .login.cshrc파일을 사용합니다.


어떻게 그렇게 하시겠습니까? 명령 줄에 입력하여 별칭을 추가 할 수 있다는 것을 알고 있습니다. 그러나 매번 그렇게하고 싶지는 않지만 자동화하고 싶습니다.
pocoa

예, .bash_login 및 .bash_profile이 존재하지 않습니다.
pocoa

별칭을 내보낼 수 없습니다. 이 경우 변수가 정의 된 쉘의 하위 환경에 필요하지 않은 경우 변수를 내보낼 필요가 없습니다. 일부 사람들은 자신이 만든 모든 변수를 내보내지만 이름 충돌이나 스크립트의 초기화되지 않은 변수로 인해 예기치 않은 결과가 발생할 수 있습니다.
Dennis Williamson

@Dennis : AFAICT (그리고 확실히 내가 의도 한대로), 나는 별칭을 내보내거나 내보낼 수 있다고 말하지 않았습니다. 모든 변수를 내보낼 필요는 없습니다. 다시, 나는 그들이 모두 수출되어야한다고 말하지 않았다. @pocoa가 별칭 이외의 변수를 사용하는지 여부에 따라 다릅니다. 내 의심은 일반적으로 내 보낸 변수로 유용 할 수 있지만 필연적으로 그렇지는 않다는 것입니다.
Jonathan Leffler

확실하지 않으면 죄송합니다. 나는 당신이 말한 것을 보완하지 말고 보충하려고했습니다. 또한 누군가가 별명과 유사한 기능을 원하지만 하위 프로세스에서 사용 가능하게하려면 Bash 함수를 내보낼 수 있습니다.
Dennis Williamson

0

질문이 정확히 무엇입니까? 유닉스 박스에 로그인 할 때 별명 "작업 공간"을 사용할 수 없다는 것을 의미합니까?


예. "작업 공간"을 입력하고 작업 공간 폴더에 액세스하고 싶습니다.
pocoa

로그인 할 때 "작업 공간"을 입력하면 해당 폴더로 이동하지 않습니까? 별명 workspace = "cd ~ / Development / workspace"로 넣어 보셨습니까?

@Kunal : 명령 줄에? 매번 입력하고 싶지 않습니다.
pocoa


0

일반적으로 환경 변수를 설정하려면 다른 사람들이 이미 말했듯이 export에서 를 사용해야합니다 .profile. 간단히로 설정할 수도 .bashrc있지만 메모리 낭비가 될 수 있습니다 (사물의 원칙으로 중요하지는 않습니다). 별명은 모든 쉘에서 별명을 설정해야하므로로 이동해야합니다 .bashrc. 또는 .alias기본적으로 .bashrc(최소한 우분투에서는 다른 배포판에서도 가능합니다.)


Jonathan의 답변에 대한 내 의견을 참조하십시오 . 변수는 정기적으로 내 보내지 않아야합니다.
Dennis Williamson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.