Quando você não tem certeza do que algo faz, e a documentação não diz, você chegou às fontes, ou seja, line 1588 :
if (matches(*argv, "change") == 0 ||
strcmp(*argv, "chg") == 0)
return ipaddr_modify(RTM_NEWADDR, NLM_F_REPLACE, argc-1, argv+1);
Então, o que isso faz? Retorna o resultado da execução da função ipaddr_modify()
definido na linha 1379 com os argumentos RTM_NEWADDR
e NLM_F_REPLACE
.
From what I could determine playing around, I guess one can always use
ip addr change
instead ofip addr add
, because if an address does not exist,ip
will add one, just ifip addr add
was used.Is that correct, i.e., can anybody explain what precisely
ip addr change
does and how it differs fromip addr add
?
Não, add
criará ou executará os argumentos fornecidos (se houver algum dado), enquanto change
procurará o argumento e o substituirá.
BTW, replace
parece ser um compromisso entre add
e change
, pois usa uma mescla de argumentos.