Когда Вы выполняете сценарий оболочки удара, например, путем выполнения исполняемого файла, строка хижины которого #!/bin/bash
, скрипт запущен в неинтерактивной оболочке. Одна из функций неинтерактивной оболочки - то, что история отключена. Таким образом, если бы Вы хотите, чтобы Ваш сценарий смог использовать историю, необходимо было бы сделать что-то вроде этого:
#!/bin/bash
HISTFILE=~/.bash_history # Or wherever you bash history file lives
set -o history # enable history
history | grep git
Конечно, в этом случае Вы, возможно, просто сделали:
grep git ~/.bash_history
Так как оба из вышеупомянутого требует что файл истории (~/.bash_history
) будьте актуальны, которым это почти наверняка не будет.
Я не уверен, как Вы запускаете свой скрипт после того, как строка хижины удалена. Определение источника файла (например, с .
) не то же как запущение скрипта, потому что команды работают в текущей оболочке, которой действительно включали историю.
С bash
4.2 и выше ( или ksh
, mksh
, pdksh
, lksh
, zsh
), вы можете использовать ANSI C Цитата :
echo $'\U2191'
или установка языкового стандарта с помощью символов Юникода:
LC_ALL=C.UTF-8 printf '\U2191\n'
или вместо этого вы можете использовать perl
:
perl -CS -le 'print "\x{2191}"'
Перейдите к таблице юникода: http://unicode-table.com/en/sets/arrows-symbols/ , возьмите стрелку, которая вам нравится, и затем распечатайте ее с соответствующим кодом перед by \ u
:
echo -e "\u2191"
или лучше использовать printf
:
printf "\u2191\n"