For the most part yes. We auto-convert the GLSL ES shader into all other shader types (although you can write directly in the platform shader type - OpenGL, HLSL etc. if you want to).
BUT..... hardware does differ. If you have some highly specialised and complex shaders, you may notice inaccuracies on different platforms. Windows machines are large, expensive bits of kit, Android devices aren't. This means the hardware might "cut" corners. I had a shader for my ZX Spectrum emulator that extracted "bits" from a floating point number. This was easy in windows, but on some Android devices, it became clear some "bits" weren't there. It was like the hardware was 31 bits, not 32. Now chances are...... its the maths that they cut corners on, but either way, its clear the way they get the job doe differs massively.
http://www.yoyogames.com/blog/89
What this means though, is that when you write a shader, you will have to "tune" it on every device. It'll run.... but it might not run as expected due to hardware variances. You should however be able to "fix" it so that the same source runs on every device.