When you execute:
ip addr del 1.1.1.2/24 dev eth2
you are deleting all ip addresses, if there if its assigned to the interface in the old version of ip command and if you just want to delete 1.1.1.2 then you run this instead:
ip addr del 1.1.1.2 dev eth2
However, the current version of the ip command, requires the prefix length.
And executing the ip address delete command with just the ip address will delete it , you get this message:
Warning: Executing wildcard deletion to stay compatible with old scripts.
Explicitly specify the prefix length (1.1.1.2/32) to avoid this warning.
This special behaviour is likely to disappear in further releases,
fix your scripts!
In the current version of the ip command, if you want to delete all of the addresses on the interface, this command replaces the prefix mechanism on delete to remove the confusion and insures all addresses are deleted:
ip addr flush dev eth0