我試過getent,組命令,id -Gn $ user和一些sed組合,但是我不認爲我能夠實現,程序員。
我希望能夠把它打印出來:組ABC123
輸出 ABC123:DEVOPS構建測試設計如何在多行而不是單行輸出上打印linux組名稱
期望輸出
組:
- DEVOPS
- 建立
- 測試
- 設計
我試過getent,組命令,id -Gn $ user和一些sed組合,但是我不認爲我能夠實現,程序員。
我希望能夠把它打印出來:組ABC123
輸出 ABC123:DEVOPS構建測試設計如何在多行而不是單行輸出上打印linux組名稱
期望輸出
組:
- DEVOPS
- 建立
- 測試
- 設計
從我所看到的,你想你的用戶羣體轉化爲yaml
陣列,嘗試使用:
echo "groups:" ; for i in $(id -Gn myuser);do echo " - $i" ;done
groups:
- users
- lp
- vboxusers
- kvm
您可以使用太多:
echo "groups: [ $(groups myuser | sed -e 's/.\+\s\+:\s\+\(.\+\)/\1/g' -e 's/\(\s\+\)/, /g') ]"
groups: [ myuser, lp, vboxusers, kvm ]
您可以從那裏開始:groups abc123 | sed's// \ n -/g' 然後嘗試改進 – Sergius
如果你的shell是bash(或支持數組),你可以做一些簡單的事情,比如'arr =($(groups)); printf「%s \ n」$ {arr [@]}'。如果你想要領先的'' - '',那麼你可以做'arr =($(groups)); printf - 「 - %s \ n」$ {arr [@]}' –
謝謝@Sergius部分工作,但至少讓我的sed權利:) – HazeCloud