一部を表示するスクリプトを作成しようとしています。ユーザー情報と最後に実行された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