답변:
쉬운 방법 중 하나는 $RANDOM
[0; 32767]. 간단히 [0; 1] 난수의 모듈로 2를 계산하여 :
echo $(( $RANDOM % 2 ))
Bash에 대한 추가 정보 $RANDOM
: http://www.tldp.org/LDP/abs/html/randomvar.html
이 간단한 구성을 사용하면이 만화처럼 무작위를 사용하여 강력한 스크립트를 쉽게 만들 수 있습니다 ...
$[]
구문을 사용하고 있습니다-누가 rm
그 --no-preserve-root
기능을 가지고 있는지 알고 있습니까?
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe
머리를 숙이고 게임을 잃어 버렸다는 것을 알고 dd
명예를 잃고 디스크를 지우는 것입니다.
--no-preserve-root
"최근에"구현되었습니다. 언제 구현되었는지에 대한 정보는 없지만 IIRC는 불과 몇 년 전입니다. 그리고 Linux에 관해서는 적은 양입니다. 여기에 대한 티켓이 있습니다 : bugs.launchpad.net/ubuntu/+source/coreutils/+bug/174283
당신은 사용할 수 있습니다 shuf
DESCRIPTION
Write a random permutation of the input lines to standard output.
-i, --input-range=LO-HI
treat each number LO through HI as an input line
-n, --head-count=COUNT
output at most COUNT lines
예:
$ foo=$(shuf -i0-1 -n1)
$ echo $foo
1
$ foo=$(shuf -i0-1 -n1)
$ echo $foo
0
$ foo=$(shuf -i0-1 -n1)
$ echo $foo
0
$ foo=$(shuf -i0-1 -n1)
$ echo $foo
1
어때요?
#!/bin/bash
r=$(($RANDOM % 2))
echo $r
또는:
r=$(($(od -An -N1 -i /dev/random) % 2))
또는 아마도 :
r=$(seq 0 1 | sort -R | head -n 1)
또는 더 hackily :
r=$(($(head -128 /dev/urandom | cksum | cut -c1-10) % 2))
그리고 또한:
r=$(apg -a 1 -M n -n 1 -m 8 -E 23456789 | cut -c1)
만큼 잘:
r=$((0x$(cut -c1-1 /proc/sys/kernel/random/uuid) % 2))
이 스크립트는 기존 답변보다 이점이 없습니다. 엔터테인먼트 목적으로 만 ...
1 바이트 가져 오기 /dev/urandom
(일반적으로 임의의 이진 문자를 콘솔에 보내는 것은 권장되지 않지만 TM은 예상치 못한 / 혼란 한 결과를 초래할 수 있으므로) :
head -c 1 /dev/urandom
그리고 십진수로 바꾸십시오.
head -c 1 /dev/urandom | od -An -t u1
그리고 나머지 부분을 2로 나눕니다.
echo $((`head -c 1 /dev/urandom | od -An -t u1` % 2))
--no-preserve-root
러시아 룰렛 게임이