ランダムファイルを再生しますか? bashの1行

ギターに2つの音符(F♯とE notes)を録音した後、それらのうちの1つをランダムに選択して演奏し、聴いてから画面を見る方法を考え始めました。



最初は、PythonまたはRubyで小さなプログラムを作成する価値があると判断しました。 しかし、それから単純にbashで書くことができると思いました。



set-コマンドを使用して、位置パラメータを設定できます。 「 --



」の後に渡される最初のパラメーターは1ドル、2番目は2ドルなどとなります。



2つのファイル名をパラメーターとして設定します。1つはシャープな音符のファイル、もう1つはフラットなEのファイルです。



set -- "e_flat.wav" "f_sharp.wav"







ちなみに、「 set -- *



」を使用すると、現在のディレクトリ内のすべてのファイルとフォルダーを位置パラメーターとして設定できます。



次に、乱数を設定しましょう。 これを行うには、shufコマンドを使用します。



shuf -i 1-2 -n 1







つまり、1〜2(-i 1-2)の1つの(-n 1)乱数。



コマンドの結果を値としてbashを使用するには-出力するか、今のように変数に書き込みたい場合は、コマンドの前にドル記号($)を付けてコマンドをかっこで囲むだけで十分です。



random=$(shuf -i 1-2 -n 1)







$ {!Var}構文を使用すると、var(bash間接参照)変数に名前が含まれる変数を取得できます。 test = PATHを実行してから$ {!Test}をエコーすると、$ PATH変数の内容が表示されます。



したがって、$ {!Random}は、名前がランダム変数に書き込まれる変数の内容です。 そして、ここでは、1または2のいずれかが書き込まれます。つまり、変数$ 1または$ 2の内容が表示されます。



さて、ここにいます。 実行されたままです。



set -- "e_flat.wav" "f_sharp.wav" ; random=$(shuf -i 1-2 -n 1) ; mplayer ${!random}







つまり、bashにはさまざまなものを書くことができると改めて確信しました。多くの場合、何かをするためにコンピューターが必要な特定の状況がある場合、bashはこのための理想的な選択肢です。




All Articles