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


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.