물고기의명령 대체Bash 와 동일해야 $()
하지만 이 간단한 예제는 실패합니다.
g++ -std=c++14 -Wall -Wextra -pedantic -g (pkg-config --cflags sdl2) \
test.cpp (pkg-config --libs sdl2)
/usr/bin/ld: cannot find -lSDL2
Bash에서 실행하면 잘 작동합니다. -lSDL2
대신 입력을 사용할 수도 있습니다 pkg-config
.
명확히 말하면 다음에는 아무런 문제가 없습니다 pkg-config
.
echo (pkg-config --libs sdl2)
-lSDL2
Fish에서는 이것이 작동하지 않는 이유는 무엇입니까?
답변1
이는 Fish에서 알려진 문제입니다.982화. 분명히 그들은 eval
공백을 줄 바꿈으로 변환하기 위해 출력을 사용하거나 구문 분석하기를 원합니다.
eval g++ -o code code.cc (pkg-config opencv --cflags --libs)
g++ -o code code.cc (pkg-config opencv --cflags --libs | perl -pe 's/\s+/\n/g')