0
☿[~]$ alias hdd='echo Σ= $(($(df -BMB /dev/sdb1 --output=used | tail -1 | grep -o '[0-9]*')+$(df -BMB /dev/sdc1 --output=used | tail -1 | grep -o '[0-9]*'))) Mb'
Bash的錯誤,這個別名突然停止做的工作:用 '+' 操作數//行情濫用
☿[~]$ hdd
bash: +: syntax error: operand expected (error token is "+")
但命令仍然有效:
☿[~]$ echo Σ= $(($(df -BMB /dev/sdb1 --output=used | tail -1 | grep -o '[0-9]*')+$(df -BMB /dev/sdc1 --output=used | tail -1 | grep -o '[0-9]*'))) Mb
Σ= 3782845 Mb
'突然停止'是指'以前工作'? – sjsam
您試圖以不起作用的方式嵌套引號操作符(整個別名周圍的撇號以及正則表達式周圍的撇號)。因此,你的'[0-9] *'實際上是*不加引號的*並且受shell的通配,所以行爲取決於當前目錄中是否有以數字開頭的文件名。我建議使用'「[0-9] *」'代替,因爲撇號和引號之間的區別對於正則表達式中的字符無關緊要。 –
sjsam,是的,它在系統更新之前工作。 –