මෙහිදී මම එක් ගැටළුවක් පෙන්වා දෙමි
export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"
හා
PROMPT_COMMAND="$PROMPT_COMMAND;history -a; history -n"
ඔබ මූලාශ්රය run / .bashrc ධාවනය කරන්නේ නම්, $ PROMPT_COMMAND සමාන වනු ඇත
"history -a; history -c; history -r history -a; history -c; history -r"
හා
"history -a; history -n history -a; history -n"
ඔබ 'source ~ / .bashrc' ධාවනය කරන සෑම අවස්ථාවකම මෙම පුනරාවර්තනය සිදු වේ. 'Echo $ PROMPT_COMMAND' ධාවනය කිරීමෙන් ඔබ 'source ~ / .bashrc' ධාවනය කරන සෑම අවස්ථාවකම ඔබට PROMPT_COMMAND පරීක්ෂා කළ හැකිය.
සමහර විධානයන් බිඳී ඇති බව ඔබට පෙනේ: "history -n history -a". නමුත් ශුභාරංචිය නම් එය තවමත් ක්රියාත්මක වීමයි, මන්ද අනෙක් කොටස් තවමත් වලංගු විධාන අනුක්රමයක් සාදයි (සමහර විධානයන් නැවත නැවත ක්රියාත්මක කිරීම නිසා අමතර පිරිවැයක් දැරීම හා පිරිසිදු නොවේ.)
පුද්ගලිකව මම පහත සරල අනුවාදය භාවිතා කරමි:
shopt -s histappend
PROMPT_COMMAND="history -a; history -c; history -r"
එය බොහෝ ක්රියාකාරීත්වයන් ඇති අතර ඉහත සඳහන් කළ කිසිදු ගැටළුවක් නොමැත.
කළ යුතු තවත් කරුණක් නම්: ඇත්ත වශයෙන්ම මැජික් කිසිවක් නැත . PROMPT_COMMAND යනු සරල පරිසර පරිසර විචල්යයකි. ඔබ බැෂ් විමසුමක් ලබා ගැනීමට පෙර එහි ඇති විධානයන් ක්රියාත්මක වේ ($ ලකුණ). උදාහරණයක් ලෙස, ඔබේ PROMPT_COMMAND "echo 123" වන අතර ඔබ ඔබේ පර්යන්තය තුළ "ls" ධාවනය කරයි. බලපෑම "ls; echo 123" ධාවනය කිරීම හා සමානයි.
$ PROMPT_COMMAND="echo 123"
ප්රතිදානය ('PROMPT_COMMAND = "echo 123"; $ PROMPT_COMMAND' ධාවනය කරනවා සේම):
123
පහත සඳහන් දෑ ක්රියාත්මක කරන්න:
$ echo 3
ප්රතිදානය:
3
123
history / .bash_history වෙත ඉතිහාස විධාන මතකයේ ලිවීමට "history -a" භාවිතා කරයි
මතකයේ ඇති විධාන ඉවත් කිරීමට "history -c" භාවිතා කරයි
history / .bash_history සිට මතකය දක්වා ඉතිහාස විධාන කියවීමට "history -r" භාවිතා කරයි
ඉතිහාස විධාන පැහැදිලි කිරීම මෙතැනින් බලන්න: http://ss64.com/bash/history.html
PS: වෙනත් පරිශීලකයින් පෙන්වා දී ඇති පරිදි අපනයනය අනවශ්යයි. බලන්න: .bashrc හි අපනයනය භාවිතා කිරීම