파일 대신 명령줄의 문자열에서 bash 함수를 가져오고 싶습니다. 대신 다음과 같이 하세요.
source file.sh
나는 비슷한 것을 하고 싶다:
source `cat <<EOF
some_func(){
echo "nodejs version: $(node --version)"
echo "r2g version: $(r2g --version)"
echo "npm version: $(npm --version)"
}
export -f some_func;
EOF`
이것이 가능한가?
답변1
이는 Bash 4에서는 작동하지만 Bash 3에서는 작동하지 않습니다.
#!/usr/bin/env bash
source <(echo "export foo=bar");
echo "$foo"
source <(cat <<< "export foo=bar");
echo "$foo"
source <(cat <<EOF
export foo=bar
EOF
);
echo "$foo"
어쩌면 파일 설명자에서 읽을 source
수 없습니까 ?.