在bash,我需要的整數變量,像這樣:擊:分配命令替換的輸出變量的整數
declare -i n_jobs
要被分配爲一個值電流後臺作業的數量:
jobs | wc -l
如果我將其指定爲這樣:
n_jobs=$(jobs | wc -l)
是看起來像一個工作整數,例如:
echo $((++n_jobs))
但是...打印出來(不運行上面的增量)提醒我,它包含空格:
$ echo "$n_jobs"
$ <space><space><space><space><space>4
,所以我採取這種結構:
n_jobs=$(($(jobs | wc -l)))
強制立即「鑄造」到int。
是否有更好的方式來取得命令替換列表的輸出並將其作爲整數分配給變量?
bash中的整數標誌幾乎從不使用。你爲什麼真的在乎它在這裏? – 2013-03-24 23:41:23
試試'$ echo $ n_jobs'而不是'$ echo'$ n_jobs「' – 2013-03-24 23:42:42
如果這個標誌存在,它會將一個變量標記爲_int_,我知道我只需要_int_,爲什麼我不會使用它呢?國旗,設計完全是爲了表達這種情況? – Robottinosino 2013-03-24 23:42:55