gpt4 book ai didi

linux - BASH grep 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:48:35 25 4
gpt4 key购买 nike

我正在尝试使用 bash 脚本检查脚本参数中的用户名,然后从/etc/passwd 和/etc/group 文件(不是/etc/shadow 文件)输出相关行.目前,我正在使用 if then else 循环来检查/etc/* 目录的内容并输出相关信息。我的意图是如果在两个文件中找不到匹配用户,则输出简单的文本行,因此为空值。然而,它输出的信息与我正在寻找的完全不正确。作为 BASH 的新用户,而且 linux 是通用的,我确信马上就会出现一些明显的问题。但是,我正在努力学习。

如果您对我的脚本代码有任何帮助或指出正确方向,我们将不胜感激。谢谢。

#! /bin/bash                                                              


USERLOOK='grep -h $USERID ~/etc/* | grep :x:'

grep $1 ~/etc/*
if [ -z $1 ]; then
echo "User not found."
else
echo "$USERLOOK"
fi
exit 0

最佳答案

/etc/passwd/etc/group 中查找包含输入的用户名的任何行:

#!/bin/bash

USERLOOK=$(grep -h "$1" /etc/passwd /etc/group)

if [ -z "$1" ] || [ -z "${USERLOOK}" ]; then
echo "User not found."
else
echo "$USERLOOK"
fi

关于linux - BASH grep 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38425121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com