-
- Downloads
The parentheses are needed for the shell command to be executed properly.
If the shell command looks like
"condition1 && command1 || condition2 && command2 || command3"
then condition2 will never be checked if condition1 is true and command1
exists normally. In order for this code to run expectedly, it should look
like
"(condition1 && command1) || (condition2 && command2) || command3"
instead.
Specifically, with the code like
"[ ! -d /Users ]&& sudo mkdir /Users; sudo mount --bind /mnt/hgfs/Users /Users || [ -f /usr/local/bin/vmhgfs-fuse ]&& sudo /usr/local/bin/vmhgfs-fuse -o allow_other .host:/Users /Users || sudo mount -t vmhgfs -o uid=$(id -u),gid=$(id -g) .host:/Users /Users"
if both "[ ! -d /Users ]" and "sudo mkdir /Users; sudo mount --bind
/mnt/hgfs/Users /Users" are true, then the existence of a file
/usr/local/bin/vmhgfs-fuse will never be examined and always be executed
even if the file doesn't exist. Consequently, it always fails.
Signed-off-by:
Motonori Shindo <motonori@shin.do>
Please register or sign in to comment