in csh its very simple:
echo "some string" > ./file # creates file, fails if it exists
echo "some string" >> ./file # appends to file it if exists, fails if it doesn't exist
echo "some string" >! ./file # creates the file, overwrites it it exists
echo "some string" >>! ./file # appends to file, creates it if it doesn't exist
in csh you have all the control you need without setting shell vars that may have unintended consequences. Wish they'd add this to bash.