마지막으로 실행된 명령을 표시하는 시작 스크립트 만들기

마지막으로 실행된 명령을 표시하는 시작 스크립트 만들기

일부를 표시하는 스크립트를 만들려고 합니다.사용자 정보 및 가장 최근에 실행된 5개의 명령이 그림처럼:

여기에 이미지 설명을 입력하세요.

, 약간의 조사 끝에 다음을 수행했습니다.

#!/bin/bash

echo "Hello $USER, Your UID is $UID , Your full name is $user_full_name "
export HISTIMEFORMAT= `%F %T %t`
history 5

불행히도 출력은 다음과 같습니다.

Hi user1 , Your UID is 500 , Your full name is: 
bash: fg: no job contorl

도움이 필요하세요?

답변1

"를 수정하세요.과거 시간 형식 내보내기” 라인은

export HISTTIMEFORMAT="%F %T %t"
  • 등호 = 뒤에는 공백이 없어야 합니다.
  • 백틱 대신 큰따옴표 "를 사용하세요 `

user_full_name에 대한 질문에 답변하도록 편집되었습니다.

우리는이 없습니다사용자 이름기본적으로 변수이지만 만들 수 있습니다.

#!/bin/bash
#
# taking first part (up to a first comma symbol)
# from "Full name of the user (GECOS)" field of /etc/passwd file
# and removing double quote symbols from it
user_full_name=$(/bin/getent passwd $USER |cut -d: -f5|cut -d, -f1|sed 's/"//g')
# if that field is empty, using username as full name
[ -z "$user_full_name" ] && user_full_name=$USER
export user_full_name
#
echo "Hello $USER, Your UID is $UID , Your full name is $user_full_name "
export HISTTIMEFORMAT="%F %T %t"
history 5

관련 정보