답변:
Bash 쉘에서 :
export FOO="/a/b/c"
그리고 $ path를 사용하고 싶지 않습니다 . 그것은 특별한 변수입니다.
환경에서 변수가 필요하지는 않습니다.
따라서 대신 csh setenv
에서 다음을 수행 할 수 있습니다.
set dir="/a/b/c/d/e/f"
cd $dir
또는 Bash 대신 export
:
dir="/a/b/c/d/e/f"
cd $dir
set dir="/a/b/c/d/e/f"
와 setenv dir "/a/b/c/d/e/f"
? 의 차이점은 무엇입니까 ?
setenv
자식 프로세스에서 사용할 수 있도록 변수를 내 보냅니다. set
현재 환경 (스크립트 또는 대화식 쉘)에서만 사용할 변수를 설정합니다. 대부분의 경우을 사용해야 set
합니다. 또한 set
배열을 지원 하지만 지원 setenv
하지 않습니다.
내보내기를 사용하십시오.
your_path = "/ a / b / c / d / e / f"내보내기
cd $ your_path
로그인을 통해 유지하려면 .profile 파일로 편집해야합니다.
~/.bash_profile
시스템 전체 효과의 경우 /etc/profile
. 어쨌든 지속성을 언급하면 +1입니다.
export
. Bash 또는 sh
에서 your_path="/a/b/c/d/e/f"
거의 항상 충분합니다.
한 세션의 경로 만 사용하려면 평소와 같이 변수를 설정하십시오
set long="/some/long/path/to/a/directory"
그런 다음 cd "$long"
쉘이 종료되거나 long
다시 설정 될 때까지 원하는만큼 자주 사용할 수 있습니다 .
쉘 세션에서 실행되는 프로세스에 사용 가능한 변수에 관심이 있다면 환경에서 설정해야합니다.
setenv long "/some/long/path/to/a/directory"
현재 세션이 아닌 모든 세션에서 변수를 사용할 수있게하려면 쉘 실행 제어에서 변수를 설정해야합니다.
$EDITOR ~/.cshrc
그런 다음 위에 표시된 set
행이나 행을 추가하여 setenv
csh의 모든 세션에 대해 변수 또는 환경 변수를 자동으로 설정하십시오.
csh
) 또는보다 일반적인 Borne / Bash Shell (sh
및bash
각각)을 사용하고 있습니까?