Bash
如何檢查有效的 $PATH 目錄,並輸出它們告訴每個目錄是否有效?
好的,我得到了這個:
check="${PATH//:/'\n'}"
以上以簡化的方式為我提供了每條路徑,並將其很好地格式化為變數。現在我如何檢查每一行是否存在,並結合 echo 聲明每一行(我想我會使用 echo。)?
我知道它可能涉及 for 或 while 循環,但我不確定如何執行此操作。
BASH請只回答。
while read -d: dir do [ -d "$dir" ] || echo "Missing: $dir" done <<<"${PATH%:}:"
read -d: dir
將輸入讀入變數dir
,在:
.
[ -d "$dir" ]
測試目錄是否存在
||
僅目前面的語句返回 false 時才執行後面的語句。
<<<"${PATH%:}:"
使用here-string向循環提供輸入。該表單"${PATH%:}:"
確保:
遵循 PATH 字元串。這分兩步完成。第一個使用後綴刪除,${PATH%:}
, 從 PATH 中刪除尾隨:
(如果有的話)。其次,添加一個冒號。