나는 그것을 사용하고 있다조밀한 파도 관리상태 표시줄 의 경우 dwmblocks
장치가 연결될 때 일부 정보와 상태를 표시하는 블루투스 스크립트를 포함하여 상태에 대해 실행되는 여러 모듈/스크립트가 있습니다.
#!/bin/bash
case $BLOCK_BUTTON in
1) setsid -f blueman-manager ;;
2) notify-send "$icon Device Connected" "$(if [[ "$(bluetoothctl info)" != "Missing device address argument" ]]; then
echo= "$(bluetoothctl info | grep "Name" | awk '{print $2}')"
else
echo= "No Device Connected" )" ;;
3) notify-send "$icon Bluetooth" "\- Show Bluetooth Status.
- Click to open Bluetooth Manager.
- Middle click to show Connected Devices." ;;
esac
if [[ "$(bluetoothctl info)" != "Missing device address argument" ]]; then
icon=" "
else
icon=" "
fi
printf "%s%s\\n" "$icon"
스크립트는 잘 작동하지만 중간 클릭 동작
2) notify-send "$icon Device Connected" "$(if [[ "$(bluetoothctl info)" != "Missing device address argument" ]]; then
echo= "$(bluetoothctl info | grep "Name" | awk '{print $2}')"
else
echo= "No Device Connected" )" ;;
아무것도 표시되지 않습니다. 장치가 연결될 때 "장치 연결됨 - (장치 이름)"이 표시되기를 원합니다. 그렇지 않으면 "연결된 장치 없음"이 표시되지만 클릭 동작이 작동하지 않는 것 같습니다. 빈 알림도 표시하지 않습니다.
답변1
문제가 있는 사람을 위해
#!/bin/sh
case $BLOCK_BUTTON in
1) setsid -f blueman-manager ;;
2) notify-send "$icon Device Connected" "$(if [ "$(bluetoothctl info)" != "Missing device address argument" ]; then
echo= bluetoothctl info | grep "Name" | awk '{print $2}'
else
echo 'No Device Connected'
fi )" ;;
3) notify-send "$icon Bluetooth" "\- Show Bluetooth Status.
- Click to open Bluetooth Manager.
- Middle click to show Connected Devices." ;;
esac
if [ "$(bluetoothctl info)" != "Missing device address argument" ]; then
icon=" "
else
icon=" "
fi
printf "%s\\n" "$icon"
이것이 내가 바꾼 것입니다.
2) notify-send "$icon Device Connected" "$(if [ "$(bluetoothctl info)" != "Missing device address argument" ]; then
echo= bluetoothctl info | grep "Name" | awk '{print $2}'
else
echo 'No Device Connected'
fi )" ;;
- IF 문이 닫히지 않은 경우 닫았습니다.
- echo는 명령 대체로 실행되며 첫 번째 인수가 "누락된 장치 주소 매개변수"와 같지 않음"이라는 요구 사항을 충족하면 실패합니다.
- 연결된 장치가 없으면 echo가 명령 대체로 실행되어 실패합니다. 연결된 장치가 없다는 메시지만 표시되기를 원합니다.
자세한 내용은 이 리소스(https://github.com/koalaman/shellcheck/wiki/SC2091)
printf "%s\\n" "$icon"
원본 스크립트는 2개의 문자열을 제공하지만 전달만 합니다.