I have been struggling to understand this line of code, could someone helpe me ?
for what I understood the od means will convert the outout for octal format, -An I think it means input base which is no address but why ? and the -N is the length
if someone could help to translate this while sintax I would appreciate
n=$((`od -An -N1 -i /dev/random` %100 ))
Advertisement
Answer
od -An -N1 -i /dev/random takes one byte (-N1) of input from /dev/random, treats it as a signed integer value (-i) and uses no address base (-An) (this is done to disable the header line od usually outputs). Running just this will give you a random number between 0 and 255.
Putting this command in backticks “`” places od’s output into the commandline.
$((x % y)) calculates x modulo y, where x is od’s output and y is 100 in your example.
Finally, the result is placed in the variable n which you can access by using e.g. echo $n