Shuf 명령의 파이프 출력

Shuf 명령의 파이프 출력

Linux의 새로운 기능입니다. Raspberry Pi에서 실행되는 디지털 시계가 있습니다. 닉시 튜브의 수명을 연장하는 데 도움이 되도록 무작위로 6자리 숫자 시퀀스를 자주 보내고 싶습니다.

GitHub에서 명령을 사용하여 6자리 숫자를 표시할 수 있는 CLITool 프로그램을 찾았습니다. CLITool xxxxxx여기서 x는 0-9 사이의 숫자입니다. 그래서 다음 줄을 사용하여 bash 파일을 만들려고 했습니다 shuf -zer -n6 {0..9}|CLITool.

shuf명령은 임의의 6자리 문자열을 생성하지만 CLITool로 파이프되지 않는 것 같습니다. 내가 언급한 것처럼 Linux를 처음 접한 것이므로 아마도 내가 놓친 몇 가지 기본적인 사항일 것입니다.

답변1

명령 대체를 사용하려고 합니다.

 CLITool $(expr 1+2)

expr프로그램은 매개변수를 사용하여 먼저 실행됩니다 1+2. 그러면 출력됩니다. 3그러면 쉘이 실행됩니다 CLITool 3.

나는 awk를 사용하여 숫자를 얻습니다.

 CLItool $(awk 'BEGIN{srand();printf("%06d\n",rand()*1000000)}')

앞에 0이 붙은 0과 1,000,000-1 사이의 6자리 난수를 가져옵니다.

답변2

CLI 도구가 stdin의 입력을 전혀 읽지 못하는 것 같습니다. 입력 스트림을 읽을 수 있는 도구만 파이프할 수 있습니다. 따라서 명령 대체를 사용하십시오.

CLItool $(shuf -zer -n6 {0..9})

관련 정보