Одна проблема с ответом @camh состоит в том, если у Вас есть команда, которая охватывает несколько строк, это только показывает первую строку:
$ echo "one
> two
> three"
one
two
three
$ fc -lnr | head -1
echo "one
Попробуйте это:
$ alias getlast='fc -nl $((HISTCMD - 1))'
$ echo "one
> two
> three"
one
two
three
$ getlast
echo "one
two
three"
Это из-за двойных кавычек.
Если возможно измените path/to/containing/file
и удалите кавычки. Если не возможный добавляют переданный по каналу процесс (tr
или sed
или что-то подобное) для удаления кавычек из замены процесса.
cat
кажется, обычно не возражает против кавычек. – user34900 25.03.2013, 14:26cat
, кавычки являются просто никогда частью имени файла. Не забывайте отмечать ответ, как принято, если он решает Вашу проблему. – rahmu 25.03.2013, 14:45