クロスコンパイルされたカーネルモジュールのエイリアス

クロスコンパイルされたカーネルモジュールのエイリアス

クロスコンパイル用のエイリアスを作成しました。

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-) 

関連情報