일부를 표시하는 스크립트를 만들려고 합니다.사용자 정보 및 가장 최근에 실행된 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