크로스 컴파일된 커널 모듈의 별칭

크로스 컴파일된 커널 모듈의 별칭

크로스 컴파일을 위한 별칭을 작성했습니다.

alias cross_compile="make CROSS_COMPILE=x86_64-buildroot-linux-uclibc- -C /home/jamal//buildroot-2019.05/output/build/linux-4.19.16 M='$PWD' modules"

그러나 터미널에서 cross_compile을 호출할 때마다 PWD는 평가되지 않고 정적 디렉터리로 설정됩니다.

cross_compile이 호출될 때마다 비밀번호를 얻도록 하려면 어떻게 해야 합니까?

답변1

모든 작은따옴표를 큰따옴표로 바꾸고 모든 큰따옴표를 작은따옴표로 바꿔야 합니다. 별칭이 호출될 때까지 PWD 확장이 지연됩니다. 단축된 예:

Paul-) alias cross_compile='echo linux-4.19.16 M="${PWD}" modules'
Paul-) 
Paul-) alias cross_compile
alias cross_compile='echo linux-4.19.16 M="${PWD}" modules'
Paul-) 
Paul-) cross_compile
linux-4.19.16 M=/home/paul modules
Paul-) 
Paul-) cd Sand*
Paul-) pwd
/home/paul/SandBox
Paul-) cross_compile
linux-4.19.16 M=/home/paul/SandBox modules
Paul-) 

관련 정보