I don’t know bash scripting

if [ -d ~/.bashrc.d ]; then
	for rc in ~/.bashrc.d/*; do
		if [ -f "$rc" ]; then
			. "$rc"
		fi
	done

I asked chatgpt and it said this is non standard? There is no bashrc.d directory on my home folder, I have uncommented the lines for now but dont know if this is benign or malignant

  • Badabinski@kbin.earth
    link
    fedilink
    arrow-up
    22
    arrow-down
    7
    ·
    2 months ago

    Ugh, I hate ChatGPT. If this is Bash (which it is, because it’s literally looking for files in a directory called ~/.bashrc.d), then it should god damned well be using syntax and language features that we’ve had for at least twenty fucking years. Specifically, if you’re writing for Bash (and not POSIX shell), you better be using [[ ]] rather than [ ]. This wiki is my holy book I use to keep the demons away when writing Bash, and it does a simply fantastic job of explaining why you should use God damned double square brackets.

    ChatGPT writes shitty, horrible, buggy ass Bash. This is relatively decent for ChatGPT (it even makes sure the files are real files and not symlinks), but I’ve had to fix enough terrible fucking shitty AI Bash to have no tolerance for even the smallest misstep from it.

    Sincerely, A senior developer who is known as the Bash wizard at work.

    EDIT: Sorry, OP. ChatGPT did not, in fact, write this code, and I am going to leave my comment here as a testament to what a big smelly dick I was here.

      • Badabinski@kbin.earth
        link
        fedilink
        arrow-up
        21
        arrow-down
        1
        ·
        2 months ago

        oh fuck I did misread it. Man, now I sound like a big ol’ asshole. Sorry, OP :/ I had a bad week thanks to some ChatGPT code and just kinda jumped out when I saw the word “ChatGPT” next to Bash.