我想执行一条命令,该命令返回存在的所有用户主目录并将结果存储到bash变量中
res=$(ssh -q -o LogLevel=error user@server << 'EOF'
t=$(awk -F':' '{ if ( $3 >= 500 ) print $1 }' /etc/passwd)
readarray -t res_array <<< "${t}"
UHOME="/home"
for u in "$res_array"
do
_dir="${UHOME}"/"${u}"
if [[ -d "$_dir" ]]
then
echo "$u"
fi
done
EOF
)
代码在本地有效,但在远程服务器上无效 我使用echo $ u存储家庭用户存在的结果到变量:(
答案 0 :(得分:0)
执行此操作:
res=$(ssh -q -o LogLevel=error user@server << 'EOF'
t=$(awk -F':' '{ if ( $3 >= 500 ) print $1 }' /etc/passwd)
readarray -t res_array <<< "${t}"
UHOME="/home"
for u in "${res_array[@]}" # change this line
do
_dir="${UHOME}"/"${u}"
if [[ -d "$_dir" ]]
then
echo "$u"
fi
done
EOF
)