Alias ​​nicht richtig vergeben

Alias ​​nicht richtig vergeben

Ich habe ein seltsames Problem mit einem Bash-Alias. In meiner .bashrc-Datei ist der folgende Alias ​​definiert:

alias rec='nano `ls slurm-* | sort -t. -k3n | tail -1`'

Wenn ich den Alias ​​jedoch recin der Shell erweitere, CTRL ALT Eerhalte ich:

nano Remember that all constraints must be readded!

Wenn ich den Alias ​​ausführe, erhalte ich dasselbe:

nano Remember that all constraints must be readded!

Wenn ich verwende, which recerhalte ich die richtige Erweiterung:

alias rec='nano `ls slurm-* | sort -t. -k3n | tail -1`'
/home/spack/opt/spack/linux-rhel6-x86_64/gcc-4.4.7/nano-2.6.3-k2cwz7lwjd4zutb7r7cfo63apevyztuw/bin/nano
/home/spack/opt/spack/linux-rhel6-x86_64/gcc-4.4.7/coreutils-8.26-icpocuezd6r7ydd73ipkehkg345372eo/bin/sort
/home/spack/opt/spack/linux-rhel6-x86_64/gcc-4.4.7/coreutils-8.26-icpocuezd6r7ydd73ipkehkg345372eo/bin/tail

Dies Remember that all constraints must be readded!ist die Ausgabe eines (angeblich) völlig unabhängigen Skripts, das ich geschrieben habe. Irgendeine Idee, was hier vor sich geht?

Antwort1

Sie analysieren ls,das solltest du nicht tun. Ich denke esMaidie Ursache Ihres Problems sein.

Wenn beispielsweise mindestens einer Ihrer slurm-*Dateinamen so lautet:

*\nRemember that all constraints must be readded!

oder

*\nRemember that all constraints must be readded!\n*

wo \neine neue Zeile ist, sorterhält man mehr Zeilen als erwartet. Allein dieser Dateiname:

slurm-0.1.-5\nRemember that all constraints must be readded!

erzeugt sortzwei Zeilen und in der Ausgabe Remember …steht die Zeile nach der slurm-…Zeile. Ich weiß nicht slurm-*genau, wie Ihre Dateinamen aussehen. Ich bin mir nicht einmal sicher, ob das wirklich passiert. Mein Punkt ist, dass Sie die Ausgabe von nicht analysieren sollten ls.


Ein weiteres schwaches Fragment ist, wo Sie das Argument für nicht zitieren nano. Dies hat wahrscheinlich nichts mit Ihrem aktuellen Problem zu tun, aber denken Sie daran, nano a bdass Nano adann bearbeitet bund nicht "a b".

verwandte Informationen