bash setenv 명령을 찾을 수 없음

다음 명령을 사용할 때

 setenv CLASSPATH /path/mysql-connector-java-ver-bin.jar:$CLASSPATH 

오류는

 bash setenv command is not found 

어떤 명령으로 setenv의 경로를 찾을 때 다음 경로를 찾았습니다.

 (/usr/kerberos/sbin:/usr/kerberos/bin:/home/ec2/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/ec2/bin:/root/bin) 

Answer

setenv(t)csh는 CentOS의 기본 셸인 bash가 아닙니다. 대신

export CLASSPATH="/path/mysql-connector-java-ver-bin.jar:$CLASSPATH" 

를 사용합니다.

답변

균등 더 깔끔하기 때문에 더 좋습니다. 호출하려는 명령에 접두사 표기법 (set 제외)을 사용합니다.

CLASSPATH=/path/mysql-connector-java-ver-bin.jar:$CLASSPATH ANOTHER_VAR=bla ATHIRD_VAR=blu java -... 

이제 호출하는 java 프로세스가 임시 환경 변수 CLASSPATH, ANOTHER_VARATHIRD_VAR.

export를 사용한 경우 변수는 최소한 스크립트 환경에서 전역 (?)으로 설정됩니다. 그리고 이미 존재하는 값은 새 값으로 덮어 쓰여집니다.

접두사 표기법의 장점 :

  • 변수의 이전 값은 변경되지 않아야합니다. 예를 들어 이전 값이 나중에 필요하면 호출 후 복원하기 위해 이미 존재했던 변수의 이전 값을 저장할 필요가 없습니다.
  • unset 호출 후 정리를위한 임시 변수

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다