sh
쉘 을 사용하는 스크립트가 있습니다. source
명령 을 사용하는 줄에 오류가 발생합니다 . source
내 sh
껍질에 포함되어 있지 않은 것 같습니다 .
source
쉘에서 명시 적으로 실행하려고하면 다음 과 같은 결과가 나타납니다.
sh: 1: source: not found
어떻게 든 “소스”를 설치해야합니까? 버전이 잘못 sh
되었습니까?
답변
/bin/sh
일반적으로 쉘을 모방하려는 다른 쉘입니다. 많은 배포판 사용 /bin/bash
을 위해 sh
, 그것은 지원합니다 source
. 그러나 우분투에서는를 /bin/dash
지원하지 않는가 사용됩니다 source
. 대부분의 쉘은 .
대신에 사용 합니다 source
. 스크립트를 편집 할 수 없으면 스크립트를 실행하는 쉘을 변경하십시오.
답변
Bourne shell (sh)에서을 사용하십시오. 파일 소스 명령
. filename
답변
$ls -l `which sh`
/bin/sh -> dash
$sudo dpkg-reconfigure dash #Select "no" when you're asked
[...]
$ls -l `which sh`
/bin/sh -> bash
그럼 괜찮을거야
답변
source
내장은 bashism이다. .
대신 간단하게 작성하십시오 .
예 :
. $FILE
# OR you may need to use a relative path (such as in an `npm` script):
. ./$FILE
답변
이 문제는 jenkins Execute Shell이 / bin / sh를 통해 스크립트를 실행하기 때문에 발생합니다.
결과적으로 / bin / sh는 “source”를 모른다
젠킨스의 Execute Shell 상단에 아래 줄을 추가하면됩니다.
#!/bin/bash
답변
이 source
명령은 일부 쉘에 내장되어 있습니다. 스크립트가있는 경우 다음과 같이 첫 번째 행에서 사용할 쉘을 지정해야합니다.
#!/bin/bash
답변
#Jenkins execute shell에서 소스 명령 을 호출하려고하는 동안이 오류가 발생했습니다 .
source profile.txt
또는
source profile.properties
소스 명령을 대체하는 것은
. ./profile.txt
또는
. ./profile.properties
참고 : 두 점 사이에 공백이 있습니다 (.)