簡體   English   中英

Bash 腳本不包括第一個元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM