Just a clarification to what rab777hp said in the 4th (currently last) comment following his/her response above -- it wouldn't be the bash shell that interprets the "FALSE" / "NO" argument, but the 'defaults' command. Bash doesn't interpret arguments passed to commands (although it does process them quite extensively, in the course of providing filename globbing, variable substitution, and all of the other shell features it's responsible for), once it's done its processing the resulting argument strings are simply handed off to the command being executed. It certainly makes a lot of sense that the 'defaults' command considers "FALSE" and "NO" to be equivalent. (Probably "OFF", at least, would also be permissible.) But the responsibility for determining the meaning of those strings rests squarely upon the command's argument-processing code, and thus may vary somewhat based on how different commands are implemented.