Octave의 함수 System() 사용하기

Octave의 함수 System() 사용하기

터미널에서 LTSpice 에뮬레이터를 여는 바로가기를 만들고 "ltspice"를 입력하여 프로그램을 열고 alias 명령과 프로그램 경로를 사용하여 bashrc에 저장했습니다.

터미널에서는 잘 실행되지만 옥타브에서 명령을 사용하려고 하면 다음과 같습니다.

    system('ltspice');

그것은 돌아오고,

    sh: 1: ltspice: not found

답변1

별칭은 정의된 세션에서만 사용할 수 있으므로(대화식 사용을 위한 것이므로) Octave에서는 이를 볼 수 없습니다.

ltspice호출 시 전체 경로를 지정하는 것이 좋습니다 system().

답변2

별칭은 대화형 쉘용입니다. Bash는 .bashrc대화형 셸을 시작할 때만 읽습니다. 어떤 프로필 1도 system이 기능에 대한 별칭을 제공할 수 없습니다. 이러한 기능은 응용 프로그램이 호출하는 모든 셸 명령에 영향을 미치고 예기치 않은 작업을 수행하게 할 수 있으므로 위험할 수 있습니다.

어디에서나 애플리케이션을 사용할 수 있게 하려면 실행 파일이 있는 디렉터리가명령 검색 경로. 로그인 스크립트의 경로에 디렉터리를 추가합니다.

PATH="$PATH:/opt/ltspice/bin"

또는 이미 경로에 있는 디렉토리에 실행 파일에 대한 심볼릭 링크를 넣습니다.

ln -s /opt/ltspice/bin/ltspice /usr/local/bin/ltsipce

1 실제로는 모든 공통 sh쉘이 환경 변수에 의해 지정된 파일을 읽습니다 ENV. 그러나 어쨌든 나는 이것을 사용하지 않는 것이 좋습니다.
²예 . Csh 사용자는 .cshrc때때로 물립니다. csh 스크립트는 /bin/csh -f.

관련 정보