シンプルなbashスクリプトを作成して、システムからすべてのBluetoothデバイスを削除します。それがするのは、bt-device -l
を使用してBluetoothデバイスをリストし、次に括弧の間のMACアドレスを取得してから、bt-device -r <MACAddress>
を呼び出してデバイスを削除します。私はbashスクリプトでそれほど素晴らしいとは言えませんが、私がbtデバイスコールをechoに置き換えると、正しい出力が得られます。コマンドを戻すと、デバイスが見つからなかったと表示されます。私が手動で電話をかけると、それは機能します(「完了」を出力します)。Bashスクリプトのエコーは実行されません
サンプルbt-device -l
コマンドの出力:
Added Devices:
Samico BP (12:34:56:78:9a:bc)
SensorTag 2.0 (12:34:56:78:9a:bd)
、スクリプト私が使用している:
#!/usr/bin/env bash
bt-device -l | sed 1d |
while read x; do
bt-device -r $x | cut -d "(" -f2 | cut -d ")" -f1
done
私はそれを実行し、それがbt-device -r
コマンドを実行しますが、出力はError: Device not found
であるかのように私は間違ったMACアドレスをタイプした。スクリプトのbt-device
コールをecho
に置き換えると、期待どおりのMACアドレスのリストが表示されます。
あなたは$x
前にそれを使用して処理したいと思います
#!/usr/bin/env bash
bt-device -l | sed 1d |
while read x; do
bt-device -r $(echo $x | cut -d "(" -f2 | cut -d ")" -f1)
done
:
代わりに、あなたはこのような何かを書く必要があります。 –