Why does pw-cli work in the terminal but not in my script?

0
16
Asked By TechyTurtle123 On

I'm having a frustrating time transitioning from console to PC gaming, specifically trying to automate switching my monitor and audio when I want to play games on my TV. I've written a script to facilitate this, but I'm running into issues with a specific line that retrieves an ID for my audio sink. Even though the script seems to work for my Focusrite audio interface, I keep getting an error when trying to switch to the HDMI output for my TV. The command works perfectly when I run it directly in the terminal, but when executed within the script, it fails with an "unknown global" error. I've checked that the sink names are correct, and I've even added some delays where necessary. What am I missing?

4 Answers

Answered By AudioGeek42 On

I don't have experience with gdctl, but can you run the command directly from a terminal after starting a shell session with `sh`? If it doesn't run there, it definitely indicates you should switch to Bash for your script. If it works in Bash but not when you run it as a script, it could suggest there's something off with how you're executing the script.

Answered By GamerGuru99 On

Just a thought—when you run the script, make sure you're executing it in a terminal where your user is logged in. If you're triggering it from somewhere that doesn't load user-specific context, it might not have all the necessary permissions or paths set up correctly. Just something to consider!

Answered By ScriptNinja42 On

Have you confirmed the operating system you're using? Sometimes, using `/bin/sh` instead of `/bin/bash` can lead to compatibility issues, especially if your script relies on Bash-specific features. And if possible, test running the script directly from a terminal instead of through a GUI launcher—this might help identify if it's an execution context issue.

Answered By LilTechWizard On

It sounds like your script might be running in a different shell environment than you expect. You might want to try changing the shebang on your first line from `#!/bin/sh` to `#!/bin/bash`. This would make sure your script runs with Bash, which might provide better compatibility with your commands. Also, check your environment variables as the script might not have access to the same path settings as your terminal does. Maybe use a site like shellcheck.net to point out any potential issues in your script.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.