can anyone help me figure out, why the following shell script does not work:
#!/bin/bash
while IFS= read -d $'\0' -r "dir" ; do
dir=${dir:2};
echo "${dir}"\#;
cd "'""${dir}""'" ;
ls;
##doing something else
# cd ..;
done < <(find ./ -mindepth 1 -maxdepth 1 -type d -print0)
I am running it in a location with a lots of folders containing spaces (think of it like this:
/location containing spaces# ls
'foo ba' 'baa foo ' 'tee pot'
I get errors of the following form:
script.sh: line 5: cd: 'baa foo ': No such file or directory
but when I manually enter cd 'baa foo'
it works fine.
Why could that be? (the echo retuns something like “foo baa #” .)
It really confuses me that the cd with the exact same string works when I enter it manually. I have allready tried leaving out the quotes in the cd command and escaping the spaces using dir=$(printf %q "${dir}");
before the cd but that did not work either.
tbh I am new to shell scripts so maybe there is something obvious I overlooked.
Mullvad has a dns
Whats on there? I just get an access denied message.