Cette locution nominale relève du registre militaire et signifie selon le contexte :
- au sens propre : prêt à attaquer, à charger l'ennemi.
La forme interjective "Baïonnette au canon !", utilisée par les officiers du XIXe siècle et de la Première Guerre mondiale constituait ainsi un véritable préalable à l'assaut.
Et un siècle plus tard, de nos jours, le fantassin à la charge, baïonnette au canon, constitue toujours pour l'imaginaire collectif une image évoquant autant le courage chevaleresque du combattant que l'horreur de la guerre.
L'interjection "Baïonnette au canon !" a servi de titre français au film états-unien "Fixed bayonets", réalisé en 1951 par Samuel Fuller et évoquant la guerre de Corée.
- et au sens figuré : prêt à agir, à passer à l'action.
On dit par exemple : "Tu l'aurais vu : baïonnette au canon, prêt à débouler dans le bureau et à tout casser".
Sources : wikipedia.org et www.defense.gouv.fr