Почему необходимо быть осторожными, когда использование Bash создало в функции истории команд, чтобы повторно выполнить предыдущие команды, которые содержат переменные?

Для двоичного файла, который будет выполняться с, он - одно только имя, каталог, содержащий двоичный файл, должен быть в одном из каталогов, указанных Вашим PATH переменная среды. Можно добавить каталог, в котором двоичный файл в настоящее время находится к ПУТИ со следующим:

export PATH="/new/path:$PATH"

Можно поместить это в сценарий инициализации для оболочки, ~/.bashrc например. Когда это - единственная команда, я обычно символьная ссылка двоичный файл к местоположению уже в моем ПУТИ.

ln -s /path/to/node-webkit /usr/local/bin
0
04.10.2013, 22:11
2 ответа

Ну, давайте попробуем его:

$ foo=bar
$ echo $foo
bar
$ foo=qux
$ !-2
echo $foo
qux
$ history
...
  219  foo=bar
  220  echo $foo
  221  foo=qux
  222  echo $foo
  223  history

Таким образом, кажется, что команда добавляется к истории, прежде чем переменное расширение произойдет.

5
28.01.2020, 02:17

Кажется, что некоторый метод проб и ошибок мог оказаться полезным и предоставить результат Вам очень быстро. Перед выяснением у вопроса, хорошо попробовать эти вещи сами. В результате можно задать информированные и подробные вопросы :)

Поскольку кажется, что Вы довольно плохо знакомы с этим, возможно, следующее имело бы выгоду для Вас?

$ history -c
$ FOOD="Bananas"
$ echo $FOOD
Bananas
$ history
  137  FOOD="Bananas"
  138  echo $FOOD
  139  history
$ !138
echo $FOOD
Bananas

Как Вы видите, history команда работала как ожидалось. Путем выполнения 138 мы выполнили ту же самую команду, которую мы сделали в первый раз, когда мы выполнили ее.

Pro Подсказка: используйте man управляйте для чтения больше о команде, на предмет которой Вам любопытно. Исключая:

man history

и тип Q для выхода, когда Вы сделаны.

Удачи!

0
28.01.2020, 02:17

Теги

Похожие вопросы