Как сделать так, чтобы история bash была такой же, как у предыдущего Bash?

sh -c 'TMP=??; echo "$TMP"'

С двойными кавычками вокруг кода sh -c, $TMPрасширяется интерактивной оболочкой перед выполнением кода sh -c. С одинарными кавычками $TMPбудет развернут внутри оболочки sh. (Я также правильно процитировал расширение переменной $TMPдляecho).

Одинарные кавычки защищают строку от раскрытия переменных.

Если вы не хотите, чтобы ??рассматривался как шаблон подстановки имени файла внутри скрипта sh -c, используйте

sh -c 'TMP="??"; echo "$TMP"'
1
23.10.2019, 13:18
1 ответ

Вы вызываете не -интерактивную оболочку для выполнения вашейfind-команды.

Не интерактивные -оболочки не имеют истории по умолчанию.

Возможные решения см. в Команда History внутри сценария bash .

0
27.01.2020, 23:58

Теги

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