බැෂ් අන්වර්ථයකට අමුණා ඇති විධානය දකින්නේ කෙසේද?


361

මට බාෂ් කවචයේ අන්වර්ථයක් ඇතැයි සිතමු. අන්වර්ථය ක්‍රියාත්මක වන විධානය මුද්‍රණය කිරීමට සරල විධානයක් තිබේද?

Answers:


486

මෙම typebuiltin මේ සඳහා ප්රයෝජනවත් වේ. එය ඔබට අන්වර්ථයන් ගැන පමණක් නොව, කාර්යයන්, බිල්ඩින්, මූල පද සහ බාහිර විධාන ගැන ද කියනු ඇත.

$ type ls
ls is aliased to `ls --color=auto'
$ type rm
rm is /bin/rm
$ type cd
cd is a shell builtin
$ type psgrep
psgrep is a function
psgrep () 
{ 
    ps -ef | { 
        read -r;
        printf '%s\n' "$REPLY";
        grep --color=auto "$@"
    }
}

type -a cmdlsඉහත අන්වර්ථ නාමයට ප්‍රයෝජනවත් වන අන්වර්ථය විසින්ම හඳුන්වන ප්‍රමුඛතා අනුපිළිවෙලින් එම නාමයෙන් සියලුම විධානයන් පෙන්වනු ඇත ls.

$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls

මෙය ඔබ ක්රියාත්මක කරන විට ඔබ කියයි ls, /bin/lsභාවිතා කරනු ඇත, සහ --color=autoඔබ එකතු වෙනත් ඕනෑම අමතරව, තර්ක ලැයිස්තුවට ඇතුළත් වනු ඇත.


1
අන්වර්ථයක් තුළ තවත් අන්වර්ථ නාම අඩංගු වන විට කුමක් කළ යුතුද?
පරිශීලක 251046

3
@ user251046 typeඔබ අන්වර්ථයක් හැර වෙනත් දෙයකට පහර දෙන තුරු දිගටම භාවිතා කරන්න ...
geirha

මම මෙම පිළිතුරට කැමතියි, මන්ද typeඕනෑම උපුටා දැක්වීම් විග්‍රහ කිරීම / අර්ථ නිරූපණය කිරීම, එවිට ඔබට උපුටා දැක්වීම් නිවැරදි බව සහතික කර ගත හැකිය.
wisbucky

මට ලැබුණා ls is aliased to 'ls --color=auto', නමුත් එක් ස්ථරයක් ගැඹුරට ගන්නේ කෙසේද, එය / bin / ls හෝ / usr / local / bin / ls හෝ කුමක් භාවිතා කරන්නේ දැයි බැලීමට.
krubo

1
rukrubo type -a lsමනාප අනුපිළිවෙලින් සොයාගත් සියලුම ls විධාන පෙන්වයි. අන්වර්ථයට පහළින් ඇති දෙය අන්වර්ථය විසින් ක්‍රියාත්මක කරනු ලැබේ.
geirha

178

aliasෂෙල් විමසුමේ සිටියදී ටයිප් කරන්න . එය දැනට ක්‍රියාත්මක වන අන්වර්ථ නාම ලැයිස්තුවක් ප්‍රතිදානය කළ යුතුය.

නැතහොත්, alias [command]විශේෂිත අන්වර්ථයක් අන්වර්ථ වී ඇත්තේ කුමක් දැයි බැලීමට ඔබට ටයිප් කළ හැකිය, නිදසුනක් ලෙස, lsඅන්වර්ථය අන්වර්ථ වී ඇත්තේ කුමක් දැයි සොයා ගැනීමට ඔබට අවශ්‍ය නම් , ඔබට කළ හැකිය alias ls.


14
හෝ alias lsවිශේෂයෙන් lsඅන්වර්ථ වී ඇත්තේ කුමක් දැයි දැන ගැනීමට ටයිප් කරන්න.
පූලි

2
ඇත්ත වශයෙන්ම. මම යන ප්රශ්නය බලන්න හිතන්නේ සියලු මම නොහොත් විධානය මත තවදුරටත් පැහැදිලි කෙළේ නැත ඇයි වන, නමුත්, මෙම යොමුවීම්.
තෝමස් වෝඩ්

මෙය අන්වර්ථ නාමයන් සඳහා ක්‍රියා කරන අතර, ඔබ අභිරුචි ෂෙල් ශ්‍රිතයක් අර්ථ දක්වා ඇත්නම් එය ක්‍රියා නොකරයි. typeකෙසේ වෙතත්, අවස්ථා දෙකේදීම ක්‍රියා කරයි.
සුජේ ෆඩ්කේ

58

මම මෙම පිළිතුරෙන් ඉගෙන ගත් පරිදි Ctrl+ Alt+ ට ඇත්තෙන්ම කැමතියි . එය දැනට ටයිප් කර ඇති විධාන රේඛාව "පුළුල් කරයි", එයින් අදහස් කරන්නේ එය අන්වර්ථ ප්‍රසාරණය සිදු කරන බවයි (වෙනත් දේ අතර).E

ඒ කියන්නේ මොකද්ද? එය දැනට විධාන රේඛාවේ ලියා ඇති ඕනෑම අන්වර්ථයක් අන්වර්ථය නියෝජනය කරන දෙයට හරවයි.

උදාහරණයක් ලෙස, මම ටයිප් කළහොත්:

$ ls

ඉන්පසු Ctrl+ Alt+ ඔබන්න E, එය බවට පත් වේ

$ ls --time-style=locale --color=auto

මෙය වෙනත් ඩිස්ට්‍රෝ වලට සමානද?
sepehr

@sepehr ඩෙබියන් මත වැඩ කරයි, මම හිතන්නේ එය ඉතා හොඳ අංගයක් වන අතර ඕනෑම බෙදාහැරීමක් සඳහා ක්‍රියා කළ යුතුය.
ඩර් හොච්ස්ටැප්ලර්

4
ඔබ හරි, එය බාෂ් මත වැඩ කරන නමුත් මට zsh ඇති අතර එය අවාසනාවකට ක්‍රියා නොකරයි.
sepehr

ඇත්තෙන්ම ප්‍රයෝජනවත් විය. මම ඒ නිසා මම ක්රියාත්මක පෙර පළමු සංස්කරණය විය හැකි බව මීට පෙර bash විධාන එක් පුළුල් වෙනස් ඉලක්කය හා ඉතිහාසය ලොගින් වී තිබුණේ, එනම්, 394,!
XXL

1
එයට එක් අවවාදයක් ඇත. අන්වර්ථයක් අවශ්‍ය උපුටා දැක්වීම් ඇතුළත් කළ විට ඒවා ඉවත් කරනු ලැබේ. ඉතින්, මට ඒ squeue -u davidmh -o %.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R වෙනුවට ලැබෙනවාsqueue -u davidmh -o "%.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R "
ඩේවිඩ්ම්

11

නිවැරදිව කිවහොත් නිවැරදි පිළිතුර BASH_ALIASES අරාව භාවිතා කිරීමයි, උදා:

$ echo ${BASH_ALIASES[ls]}
ls -F --color=auto --show-control-chars

2
සත්‍ය ප්‍රකාශය අවට ඇති මිනිස් ප්‍රයෝජනවත් දේවල් නොමැතිව අන්වර්ථකරණය කිරීම සඳහා ක්‍රමලේඛ ප්‍රවේශය අවශ්‍ය වූ අවස්ථාවක මෙය ප්‍රයෝජනවත් බව මට පෙනී ගියේය.
එම්. ජස්ටින්

මෙය zsh හි ක්‍රියා නොකරයි
ProGrammar

1
Ro ප්‍රෝග්‍රැමර් ප්‍රශ්නය වූයේ බාෂ් ගැන ය - zsh සඳහා ඔබ zsh ගැන ප්‍රශ්න බැලිය යුතුය
noonex

1
බිංගෝ. මට අවශ්‍ය දේ හරියටම @ එම්. ජස්ටින්ට සමානයි - lsඑහි ඇති දේ වෙනස් නොකර වත්මන් අන්වර්ථයට තවත් ස්විචයන් ගොඩගැසීමට මට අවශ්‍යය . ඉතින් මම alias ls="${BASH_ALIASES[ls]} --time-style=iso"මගේ නඩුවට යනවා .
පොහොසත්

3

ඔබට whichවිධානය භාවිතා කළ හැකිය .

ඔබ සඳහා අන්වර්ථයක් සකස් නම් lsලෙස ls -alහා පසුව ටයිප් which ls, ඔබ දකිනු ඇත:

ls: aliased to ls -al.


bash ට whichවිධානයක් නැත .
geirha

මා වෙනුවෙන් වැඩ කරන්නේ නැත ..
චියෙල් ටෙන් බ්‍රින්කේ

2
whichමෙහි විස්තර කර ඇති පරිදි අන්වර්ථයන් බැලීමට නරක ක්‍රමයකි: unix.stackexchange.com/questions/10525/… උබුන්ටු හි බාෂ් වල අන්වර්ථ නාම සඳහා පවා එය මට වැඩ නොකරයි.
සුජේ ෆඩ්කේ
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.