টাইমস্ট্যাম্প সহ বাশ ইতিহাস


15

আমি আমার বাশ-হিস্টফাইলে লগ ইন কমান্ডগুলিতে টাইমস্ট্যাম্প রাখতে চাই, এটা কি সম্ভব?

man bashতথ্য উত্স হিসাবে ব্যবহার করে এটি সেট আপ করার ব্যবস্থা আমি করি না ।

আমার অন্যান্য বিকল্পগুলি নিম্নরূপ:

function thebanana() {
  local -r -a bash_commands=(
    "ls"
    # ... more coconut commands
  )
  for bash_command in "${bash_commands[@]}"; do
    printf "${bash_command}"
    printf ":"
  done
}
export HISTFILE=banana
export HISTIGNORE="$(thebanana)"
export HISTSIZE=999999
export HISTFILESIZE=999999999
export HISTCONTROL=ignoredups:erasedups

আমার ওএস এক্স মাউন্টেন সিংহ (দীর্ঘশ্বাস) নেওয়ার কথা উল্লেখ করা উচিত ছিল। uname -aআমাকে দেয়:

Darwin CoconutMac.local 12.2.0 Darwin Kernel Version 12.2.0: Sat Aug 25 00:48:52 PDT 2012; root:xnu-2050.18.24~1/RELEASE_X86_64 x86_64

এবং echo $BASH_VERSIONআমাকে দেয়:

3.2.48(1)-release

এটি যুক্ত করার চেষ্টা করা হয়েছে:

export HISTTIMEFORMAT='%b %d %I:%M:%S %p '

এবং এটি কমান্ডগুলিতে কেবল এই ধরণের টাইমস্ট্যাম্পগুলির উপসর্গ করে:

#1349057791

আমি ভেরিয়েবলটি প্রতিধ্বনিত করার চেষ্টা করি ( echo $HISTTIMEFORMAT), এর সঠিক মান রয়েছে।

মজাদার!

আমি এমনকি প্রোফাইলে অপসারণ সম্পূর্ণরূপে এটি ডিবাগ করার জন্য। এখনও কেবল মজার টাইমস্ট্যাম্পগুলি:

#1349058320

আমি কীভাবে এর আরও সমস্যা সমাধান করব জানি না ... :(

সমাধান : আমি এমন স্ক্রিপ্ট ব্যবহার করছিলাম যা সরাসরি $ HISFILE পাঠ করে, ইতিহাস অন্তর্নির্মিত নয় তাই যুগ-ভিত্তিক টাইমস্ট্যাম্প (জানুয়ারি 1, 1970 এর সমন্বিত ইউনিভার্সাল টাইম (ইউটিসি) সাল থেকে সেকেন্ড) তারিখ বিন্যাসের স্ট্রিং ব্যবহার করে অনুবাদ করা হত না । সাধারণ-পুরানো historyকাজ ভাল, আমি এটি পরিবর্তে ব্যবহার করব।


2
আপনি সেট করার চেষ্টা করেছেন HISTTIMEFORMAT?
— jw013

সম্ভবত আমি স্ট্রফটাইম ফর্ম্যাটটি ভুল পাচ্ছি। যদি ম্যান পেজটিতে অন্তত কয়েকটি উদাহরণ অন্তর্ভুক্ত থাকে তবে এটি সাহায্য করবে .. +% Y-% m-% d% H-% M-% S?
— রোবোটিনোসিনো

উত্তর:


15

হ্যাঁ, এটি এতে রাখুন ~/.bashrc:

export HISTTIMEFORMAT='%F %T '

তারপরে, নিম্নলিখিত কমান্ডগুলি চালান:

. ~/.bashrc
history

এটি দেখতে এটির মতো হবে:

 (...)
 5200  2012-09-30 23:55:37 find -printf '%Ts %f\n'
 5201  2012-10-01 00:00:58 ls
 5202  2012-10-01 00:03:45 cd
 (...)

আউটপুট ব্যাখ্যা:

  • প্রথম কর্নটি অনন্য id
  • দ্বিতীয়টি হল তারিখ, তৃতীয় ঘন্টা
  • সর্বশেষ আপনার কমান্ড লাইন

3
নাহ, ওএসএক্সে কাজ করে না .. :( এটিই সমস্যা তা পরীক্ষা করুন A একটি অদ্ভুত ওএস
— রোবোটিনোসিনো

আপনি কি source ~/.bashrc?
— গিলস কুইনট

আমি খুব অবশ্যই করেছি। এটি "কিছু" করছে: একটি সংখ্যার টাইমস্ট্যাম্পের সাহায্যে কমান্ডের আগে একটি মন্তব্য করা লাইন যুক্ত করুন : # 1349057149
— রোবটিনোসিনো

1
@ রবোটিনোসিনো হ্যাঁ মন্তব্য করা লাইনটি প্রত্যাশিত বিন্যাস। বিন্যস্ত সময়ের সাথে কমান্ডগুলি প্রদর্শন করতে, historyবিল্টিন কমান্ডটি ব্যবহার করুন , সরাসরি ইতিহাসের ফাইলটি তাকান না।
— jw013

1
হিস্টটাইমফর্ম্যাট ব্যবহার করে ইতিহাসের ফাইলটিতে টাইম স্ট্যাম্প থাকা কি সম্ভব? আমি historyকমান্ডটি কখনই ব্যবহার করি না , পরিবর্তে আমি যে কমান্ডগুলি সন্ধান করছি তা সন্ধান করতে আমি একটি পাঠ্য সম্পাদক ব্যবহার করি এবং মানুষের পাঠযোগ্য তারিখের উল্লেখটি ভাল লাগবে।
— গিয়েছে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.