我遇到了麻煩:在純 Bourne Shell 中轉換此 BASH 片段的方法是什么?
if [[ -d "$d" ]] && [[ ! -L "$d" ]] && [[ "$OLD_PATH" =~ $d ]]; then
...omissis ...
fi
uj5u.com熱心網友回復:
if [ -d "$d" ]; then if [ ! -L "$d" ]; then if "$OLD_PATH" | grep -Eq "$d"; then
變數不是您可以執行的東西。您應該將變數的內容列印到 grep。
if
[ -d "$d" ] &&
[ ! -L "$d" ] &&
printf "%s" "$OLD_PATH" | grep -q "$d"
then
我會考慮添加-F到 grep 以從字面上匹配它,或者使用case- 片段很可能無法按預期使用包含[ ] *.
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/407708.html
標籤:
上一篇:'trap:TERMINT;中的“:”(冒號)的目的是什么?...'
下一篇:yq基于現有檔案創建復雜物件
