bash setenv 명령을 찾을 수 없습니다

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)

답변1

setenv에 속 (t)csh하지만 bashCentOS의 기본 셸은 아닙니다. 사용

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

대신에.

답변2

더 나은 방법은 더 깔끔하기 때문에 set호출하려는 명령에 접두사 표기법(없음)을 사용하는 것입니다.

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

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

을 사용하는 경우 export변수는 적어도 스크립트 환경 내에서 전역(?)으로 설정됩니다. 또한 기존 변수 값은 새 값으로 덮어쓰여집니다.

접두사 표기법의 장점:

  • 변수의 이전 값은 변경되지 않은 상태로 유지되어야 합니다. 즉, 나중에 이전 값이 필요한 경우 호출 후 복원하기 위해 이미 존재하는 변수의 이전 값을 저장할 필요가 없습니다.
  • unset호출 후 임시 변수를 정리할 필요가 없습니다.

관련 정보