If your scripts start with the line #!/bin/bash
they will still be run using bash, even if your default shell is zsh.
I've found the syntax of zsh really close to the one of bash, and I did not pay attention if there was really some incompatibilities. I switched 6 years ago from bash to zsh seamlessly.
There is an ext2/ext3 filesystem driver for Windows. I know nothing about it other than the fact that it exists. It or something like it should do the job, though.
It may be possible to use UDF for this, particularly since you can stick to recent versions of Windows.
Windows is very picky about what it will recognize as a valid UDF filesystem, so it is best to create the filesystem within Windows, then mount it on the Linux side which is less strict:
c:\> format /fs:udf x:
You would look up the drive letter x:
in the Windows Disk Management tool. You might want to (re)create the partition there, too.
Don't use /q
with the format
command: that creates a filesystem that is less likely to mount in other OSes for some reason. Yes, this means formatting a many-GB filesystem will take a long time. You may therefore want to experiment with a temporarily shrunk version of the filesystem, rebuilding it once you're sure both sides see it and are storing things properly in it.
On the Linux side, if it succeeds in mounting the filesystem, it will be able to set file permissions and such correctly on files within it. Windows should ignore these permissions, though if you modify a permission-sensitive file from the Windows side, it may overwrite them with null permissions, causing problems on the Linux side.
Be warned: if this works, it will be by a bleeding edge kind of luck. There is no technical reason it cannot work, but because it isn't being banged on regularly, and no large class of users depends on it, the code involved doesn't get a lot of testing and enhancement. The fact that you have to do the formatting in Windows from the command line is just one manifestation of this.
Another alternative you might look into is some form of NAS.
Best Answer
Paths with reserved names/characters:
Test:
Paths which are identical when ignoring case (does not work with paths containing newlines):
Test:
Paths longer than
MAX_PATH
(260 characters):Test: