私のスクリプトでは、1秒未満の2つの数字の間にランダムな一時停止が必要です。以下は有効でした。
#! /bin/bash
sleep $(python -c "import random;print random.uniform(.2,.8)")
しかし、突然もうそうではありませんでした。別の方法がありますか?
重要な場合は、Linux Mint 20を使用しています。
答え1
オペレーティングシステムがPythonベースのソリューションを使用しなくなったため失敗します。プロセスの一環として、以下をpython2
指すことはありません。python3
/usr/bin/python
誰でも基本的に。
python3では、パラメータ1を括弧で囲む必要があるprint
関数です。したがって、次のものを使用できます。
sleep $(python3 -c "import random;print(random.uniform(.2,.8))")
ただし、200ms~800msの睡眠値の単純な場合整数200から600の間(bashの組み込み変数RANDOM
といくつかのモジュロ操作を使用できます)の前に、次を追加します0.
。
sleep 0.$((200 + RANDOM%600))
- たとえば、参照してください。python-future: 基本構文の違い - 印刷