在 gnu 腳本中,我想檢查路徑中是否有英特爾 c 編譯器。為此,我運行以下命令:
COMPILER_IN_PATH := $(shell icc -dumpversion | grep 2021.3.0)
后來我測驗看看是否設定了 COMPILER_IN_PATH。
如果路徑中有英特爾編譯器,則上述命令可以正常作業。但是,如果路徑中沒有英特爾編譯器,盡管上述命令有效(不會設定 COMPILER_IN_PATH),但運行此行時,我會在輸出中看到以下錯誤訊息:
/bin/sh: icc: command not found
我想擺脫那個錯誤資訊。如何在將標準輸出讀入 COMPILER_IN_PATH 變數時將標準錯誤重定向到某個地方(我想是 /dev/null)?
以下是我的一些失敗嘗試:
icc -dumpversion | grep 2021 > /dev/null 2>&1
Ambiguous output redirect.
icc -dumpversion | grep 2021 2> /dev/null
icc: Command not found.
grep: 2: No such file or directory
uj5u.com熱心網友回復:
您正在重定向grep命令的輸出。您想要重定向icc命令的輸出。
COMPILER_IN_PATH := $(shell icc -dumpversion 2>/dev/null | grep 2021.3.0)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/473098.html
