cannot help ~ing ⇔ cannot but do ⇔ cannot help but do
help は「避ける」の意味で、後ろは動名詞。cannot but の but は「~以外」なので後ろは原形(~する以外できない)。cannot help but do はその2つが混ざった形で、主に口語。
- I couldn't help laughing at his joke.
彼の冗談に笑わずにはいられなかった。 - I couldn't but laugh at his joke.
彼の冗談に笑わざるをえなかった。 - I couldn't help but laugh at his joke.
彼の冗談に笑わずにいられなかった。 - I couldn't stop myself from laughing at his joke.
彼の冗談に笑うのをこらえきれなかった。
help = 「助ける」ではなく「避ける」だと知ると、It can't be helped.(仕方がない=避けられない)の意味もすっきり分かる。cannot but do はやや硬く古風な響き。