[英]Bash script excluding first element
我有一個 bash 腳本,它正在收集機器上的活躍用戶,然后我要去 curl 刪除數據。 問題是列表中的第一項不會出現,它正在收集第一項之后的所有內容。 誰能解釋為什么?
#!/bin/bash
users=$(ps -eo ruser,rgroup | grep users | sort | uniq | cut -d ' ' -f1)
while read -r users
do
newVar=$newVar$(awk '{print "user_name{name=\""$users"\"}", 1.0}');
done <<< "$users"
然后我 curl newVar 應該是所需格式的所有用戶的串聯。
不需要users
變量或while read
循環。 只需 pipe output 的ps
pipe 直接到awk
。
您不需要cut
,因為awk
可以 select 第一列帶有$1
。 並sort | uniq
sort | uniq
可以組合成sort -u
。
newVar=$(ps -eo ruser,rgroup | grep users | sort -u | awk '{printf ("username{name=\"%s\"} 1.0", $1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.