다음 명령을 사용할 때
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
하지만 bash
CentOS의 기본 셸은 아닙니다. 사용
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_VAR
와 ATHIRD_VAR
.
을 사용하는 경우 export
변수는 적어도 스크립트 환경 내에서 전역(?)으로 설정됩니다. 또한 기존 변수 값은 새 값으로 덮어쓰여집니다.
접두사 표기법의 장점:
- 변수의 이전 값은 변경되지 않은 상태로 유지되어야 합니다. 즉, 나중에 이전 값이 필요한 경우 호출 후 복원하기 위해 이미 존재하는 변수의 이전 값을 저장할 필요가 없습니다.
unset
호출 후 임시 변수를 정리할 필요가 없습니다.