මා ධාවනය කරන bash හි අනුවාදය සොයා ගන්නේ කෙසේද?


167

(learning bash) මම යතුරු ලියනය කළ නිසා bash අනුවාදය පරීක්ෂා කිරීමට උත්සාහ කළෙමි /bin/bash -v.

එමඟින් මුළු පෙළම තිරයට ප්‍රතිදානය කරන ලදි (.bashrc හි අන්තර්ගතය සහ එයින් ලබාගත් වෙනත් ලිපිගොනු).

එම විධානය නිසා මට යමක් (සමහර වින්‍යාස ගොනු නැවත ලිවීම / වැරදි පරිසර විචල්‍යයන් සැකසීම වැනි) ඉස්කුරුප්පු කළ හැකිද?

-vස්විචය කුමක් සඳහාද යන්න පිළිබඳ ලියකියවිලි මට සොයාගත නොහැක .


ඔබ ධාවනය කළහොත් ඔබ bash -vවාචික මාදිලිය සක්‍රිය කර ඇති නව බෑෂ් කවචයක් ක්‍රියාත්මක කළ අතර, එවිට ඔබට තවත් විධාන සඳහා වාචික ප්‍රතිදානය පෙනෙනු ඇත (අවම වශයෙන් ඔබ දකිනු ඇත printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"). වාචිකත්වය අවසන් කිරීම සඳහා, exitවිධානය ටයිප් කරන්න - ඔබ නැවත මුල් වාචික නොවන බාෂ් කවචයට පැමිණෙනු ඇත (හෝ ඔබ සිටි ඕනෑම කවචයක්).
ADTC

Answers:


171

මෙම -vbash සඳහා පරාමිතිය විස්ථරාත්මක වෙනුවෙන් ද, සහ අණ කර එය කරන්නේ දේ ගැන හැකි තරම් තොරතුරු ලෙස මුද්රණය කිරීමට බෑෂ්. ආරම්භයේදී, එය කියවන සියලුම වින්‍යාසයන් මුද්‍රණය කරයි.

බාෂ් සඳහා අනුවාද තොරතුරු මුද්‍රණය කිරීමට, භාවිතා කරන්න bash --version.



35
විකල්පයක් ලෙස, ඔබ දැනටමත් බාෂ් කවචයක් ධාවනය කරන්නේ නම්, ඔබට විශේෂ BASH_VERSION විචල්‍යයේ අන්තර්ගතය ප්‍රතිදානය කළ හැකිය. echo "$BASH_VERSION". එක් එක් අනුවාද අංකය වෙන වෙනම අංග වලින් සමන්විත විශේෂ අරාවක් (BASH_VERSINFO) ද ඇත. if ((BASH_VERSINFO[0] < 4)); then echo "Sorry, you need at least bash-4.0 to run this script." >&2; exit 1; fi
geirha

2
මුද්රණ දෝෂයක්, වගේ දෙයක් විය යුතු [ "${BASH_VERSINFO}" -lt 4 ]හෝ[ "${BASH_VERSINFO[0]}" -lt 4 ]
bufh


මෙම ක්‍රමයේ ඇති ගැටළුව නම්, පිවිසීමේදී ඕනෑම පරිසර විචල්‍යයක් වෙනස් කළ ඕනෑම ස්ක්‍රිප්ට් එකක්, සංකේතාත්මක සම්බන්ධකයක් හෝ වෙනත් ආකාරයක අවුල් වින්‍යාසයක් බව ඔබට 100% ක් විශ්වාස කළ නොහැකිය. මම පහත පිළිතුරු දුන් පරිදි, ඕනෑම පරිසර විචල්‍යයක් නොසලකා Ctrl + x Ctrl + v ඔබ දැනට ක්‍රියාත්මක වන bash අනුවාදය හරියටම පෙන්වයි.
vegatripy

102

Bash ධාවනය කරන විට (උදා. gnome-terminal) ඔබට BASH_VERSIONපරිසර විචල්‍යයේ අගය පරීක්ෂා කළ හැකිය .

$ echo $BASH_VERSION
4.2.37(1)-release

අගය හිස් නම්, ඔබ ධාවනය නොවේ bash.


12
මෙය ධාවනය කිරීමට වඩා හොඳය bash --version, මන්ද එය ඔබ දැනට ධාවනය කර ඇති බව සනාථ කරන අතර එය ඔබේ පද්ධතියේ බාෂ් ස්ථාපනය කර ඇති බව පමණක් නොවේ.
Flimm

1
+1 bash --versionඔබ දැනට භාවිතා කරන බෑෂ් පෙන්වන්නේ නැත.
gabeio

පරෙස්සම් වන්න: මාලාවක් BASH_VERSIONඔබ ධාවනය වන බව සහතික නැත bash: export BASH_VERSION; csh -c 'echo $BASH_VERSION $SHELL $shell', ඒ නිසා $BASH_VERSIONඇති වන කල හැක cshමෙන්ම
Tino

In ටිනෝ හොඳයි, ඔබට එය කළ හැකිය $SHELL --version, නමුත් නැවත ෂෙල් නැවත ලියනු ලැබේ (සහ සියලුම කවච --version ධජයට සහය නොදක්වයි).
බුෆ්

$BASH_VERSIONඉතා තදින් උපදෙස් දෙනු $SHELL --versionලැබේ. වග බලා ගන්න මම පද්ධතියේ භාවිතා කරනවා නොවේ බවට පත් කරන්න මේ අය උත්සාහ මැක් මත මෙම අවශ්ය bash(දිනය දක්වා) කළමනාකරණය පැකේජයක් පුරා bashඇත $SHELL=/bin/bash, නමුත් හැඳුනුම්පතක සහ මගේ අපේක්ෂිත සංස්කරණය ධාවනය වෙයි. අවාසනාවකට මෙහි තවත් උඩු යටිකුරු කිරීමක් කළ නොහැක.
user2943160

38

වත්මන් ෂෙල් තොරතුරු පෙන්වීමට උපදෙස් දෙන යතුරු කෙටිමඟක් ඇත:

Ctrl+ x Ctrl+v

සිට man bash

   display-shell-version (C-x C-v)
          Display version information about the current instance of bash.

ඔබ පරිසර විචල්‍යයන් සමඟ පටලවා ඇත්නම් මෙය හොඳම තේරීම වේ.


8

නැහැ, සියල්ල හරි. සිට man bash:

   --verbose
          Equivalent to  -v.

එය සුපුරුදු පරිදි නිහ not නොවේ. උත්සාහ කරන්න

--version 

වෙනුවට.


1

සුපුරුදු පරිදි --versionඔබට ඕනෑවට වඩා බහු-බොයිලේරු ලබා දිය හැකිය, එබැවින් මා භාවිතා කරන්නේ එයයි

bash -c 'echo $BASH_VERSION'


4
jwjandrea මෙය Paweł Nadolski ගේ පිළිතුරට වඩා වෙනස් ය . එය නව bashකවචයකින් විධානය ක්‍රියාත්මක කරයි . මෙය ප්‍රයෝජනවත් වන එක් ක්‍රමයක් නම් දැනට භාවිතා කරන කවචය එයට අවශ්‍ය නොවීමයි bash. තවත් දෙයක් නම්, වෙනත් අගයකට සැකසීමට bash( හොඳ නොවුනත් ) හැකි ය BASH_VERSION. එය පරිසර විචල්‍යයක් ලෙස අපනයනය කළ හැකිය. ධාවනය කිරීමෙන් පසුව වුවද export BASH_VERSION=foobar, මෙහි දී ඇති ක්‍රමය ක්‍රියාත්මක වේ, මන්ද එය කියවන පරාමිති ප්‍රසාරණය සිදු කිරීමට පෙර නව bashකවචය BASH_VERSIONස්වයංක්‍රීයව යලි සකසනු ඇත.
එලියා කගන්

යාවත්කාලීන කරන ලද සහ යාවත්කාලීන කරන ලද 16.04 එල්ටීඑස් පද්ධතියේ 16.04.1 අයිසෝ ගොනුවෙන් ස්ථාපනය කර ඇති එලියා කගන් bash --versionපවසන 4.3.48(1)-releaseඅතර apt-cache policy bashපවසන 4.3-14ubuntu1.2අතර ක්‍රියාත්මක කළ හැකි bashගොනුව පැමිණෙන්නේ 'බාෂ්' පැකේජයෙන් බව මම පරීක්ෂා කර ඇත්තෙමි . මෙය අර්ථ නිරූපණය කළ යුත්තේ කෙසේද? සඳහා සමාන නොගැලපීමක් ඇති අතර usb-creator-gtk, එම අවස්ථාවේ දී apt-cache ප්‍රතිදානය නිවැරදි වේ. - ඉහළ අනුවාද අංකය නිවැරදි එකක් බව අපට නිගමනය කළ හැකිද (යමෙකුට අනෙක් එක යාවත්කාලීන කිරීමට අමතක විය).
sudodus

1
ud සුඩෝඩස් වැඩසටහනක අනුවාද අංකය එය එන APT පැකේජයේ අනුවාද අංකයට වඩා වෙනස් විය හැකිය. ඔබ මෙහි දකින්නේ එයයි. 4.3.48...යනු Bash 4.3-14...හි අනුවාදය වන අතර එය bashපැකේජයේ අනුවාදය වේ .
wjandrea

L එලියා කගන් මට කලින් සඳහන් කිරීමට අමතක විය, මාව නිවැරදි කිරීම ගැන ස්තූතියි! මම දැනුම අගය කරමි.
wjandrea

1

බහු පෙළ පා not ය නොව අනුවාදය ලබා ගැනීම සඳහා:

$ bash --version | head -1 | cut -d ' ' -f 4

0

ඔබ වින්ඩෝස් හි සිටී නම් සහ ඒ වෙනුවට, ඔබ ධාවනය කරන Git Bash හි කුමන අනුවාදය දැයි දැන ගැනීමට අවශ්‍ය නම්, එය වින්ඩෝස් සඳහා වන Git හි කොටසකි.
එබැවින් Git Bash අනුවාදය:

git --version

git අනුවාදය 2.23.0.windows.1

මම ධාවනය වන විට මගේ එකම යන්ත්‍රයේ:

echo $BASH_VERSION

4.4.23 (1) - නිදහස් කරන්න

නවතම අනුවාදයට යාවත්කාලීන කිරීම සඳහා, සාමාන්‍යයෙන් ඔබට නිතර අසනු ලබන ප්‍රශ්න වලට අනුව වින්ඩෝස් සඳහා නවතම git සංස්කරණය බාගත කර ස්ථාපනය කිරීමට අවශ්‍ය වනු ඇත . සුදුසු වින්‍යාස ෆෝල්ඩර වල ස්ථාපනය කර ඇත්නම් සැකසුම් / අභිරුචිකරණයන් ආරක්ෂා කළ යුතුය.


ස්තූතියි ෂෙරිල්, නමුත් මෙය උබුන්ටු සංසදයක් නොවේද?
කුරන්කට්

අනුමාන කරන්න. ඒ ගැන කණගාටුයි. මම Git Bash සොයමින් සිටියෙමි, ගූගල් මට මෙම ලිපිය ලබා දුන්නේය, මම සිටින්නේ කුමන StackExchange වෙබ් අඩවියද යන්න පිළිබඳව මම අවධානය යොමු නොකළෙමි. මෙම පෝස්ට් එක පවා සොයා ගැනීමට උත්සාහයන් කිහිපයක් ගත වූ බැවින්, ඊළඟ වතාවේ තොරතුරු පහසුවෙන් සොයා ගත හැකි වන පරිදි මම පළ කළෙමි .
ෂෙරිල්හෝමන්
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.