De man bash
,
história -p arg [arg ...]
...
-p
Execute a substituição do histórico nos argumentos a seguir e exiba o resultado na saída padrão.
O que significa ' substituição de histórico ' aqui? Você pode dar um exemplo de seu uso?
Obrigado.
Eu entendo a substituição do histórico da linha de comando e já tentei coisas assim:
history -p "!23:1"
Mas isso não depende de -p, assim como xx "!23:1"
a mesma coisa.
Se você tiver a expansão de histórico habilitada e executar
history -p "!23:1"
, a expansão acontecerá antes que ohistory
builtin veja o designador!23:1
, já que a expansão do histórico ocorre mesmo entre aspas duplas.No entanto, se você desabilitar a expansão do histórico ou proteger o ponto de exclamação com aspas simples ou uma barra invertida, para que o builtin consiga lidar com isso, você verá que
history -p
gera o resultado dessa expansão do histórico:Suponho que o objetivo disso seja poder criar scripts de expansões de histórico.