Como passar a saída para o comando xargs usando a tubulação e atualizar o plano do usuário depois de executar o comando finger [closed]

0

Sou um usuário novo no Ubuntu e estou trabalhando em uma tarefa, mas não encontrei nenhuma maneira de resolver esse problema. Aqui está a afirmação:

finger takes the user account name as the argument. You can feed the user name to finger using the whoami command and piping the output to xargs. The argument for xargs is, of course, the finger command.

Eu fiz todo o trabalho e sei como usar o comando finger , mas sempre que eu uso find . file.sh | xargs finger {username} Eu não obtenho o resultado desejado. Basicamente eu quero rodar o arquivo .sh e depois do arquivo .sh o comando finger deve ser executado automaticamente. Como esta captura de tela

Aquiestáomeucódigo,vocêpodeverisso

#!/bin/bashecho-n"What is your name? ";
read  name;

echo -n "Are you a (S)tudent or a (P)rofessor? ";
read  s_or_p

if [ $s_or_p = "P" -o $s_or_p = "p" ]; then

    student_or_professor="professor"
    research_or_scholastic="research"

    echo -n "Where do you work? ";
    read  workplace_or_college

    echo  "What are your top 3 research interests? ";
    read  interest1
    read  interest2
    read  interest3

    echo  "$name is a $student_or_professor that works at $workplace_or_college." >> ~/.plan


else 
    if [ $s_or_p = "S" -o $s_or_p = "s" ]; then
    student_or_professor="student"
    research_or_scholastic="scholastic"

    echo -n "Where do you attend? ";
    read  worksat_or_attends

    echo  "What are your top 3 scholastic interests? ";
    read  interest1
    read  interest2
    read  interest3
    echo  "$name is a $student_or_professor that attends $worksat_or_attends." >> ~/.plan

    fi
fi

echo "$name's $research_or_scholastic interests include:" >> ~/.plan;
echo  $interest1 >> ~/.plan
echo  $interest2 >> ~/.plan
echo  $interest3 >> ~/.plan

echo "Running finger on your account..."
find . planner.sh | xargs finger linux
    
por Error3735 10.11.2015 / 22:49

1 resposta

1

Seu estado de requisitos,

You can feed the user name to finger using the whoami command and piping the output to xargs. The argument for xargs is, of course, the finger command.

Você, então, diz que usa este comando: find . file.sh | xargs finger {username} , mas não obtém o resultado necessário.

O comando que você criou não corresponde aos critérios fornecidos no requisito. Vamos dividir isso:

The argument for xargs is [...] the finger command

OK, então temos xargs finger . Isso requer entrada e cada linha de entrada é anexada ao final do comando finger por xargs .

feed the user name to finger using the whoami command

Não podemos fazer whoami | finger (bem, podemos, mas não faz sentido porque finger não lê de stdin ), mas podemos aplicar a saída de whoami ao fim do comando finger da seguinte forma:

whoami | xargs finger

Isso deve responder à primeira parte da sua pergunta. Quando você usou isso e descobriu o que está faltando em sua segunda parte, talvez queira atualizar sua pergunta com as novas informações.

    
por 10.11.2015 / 23:34