Shaw entered the Royal Navy in 1913, where he was educated at Royal Naval College, Osborne and Royal Naval College, Dartmouth, where he studied until the end of 1915. Shaw served in the latter stages of World War I with the Royal Navy, entering as a midshipman. Six months into his wartime service, he took part in the Battle of Jutland, second-in-command of a gun turret on the battleship. He later gained the rank of sub-lieutenant following the war he was made an Officer of the Military Division of the Most Excellent Order of the British Empire in 1919, for "valuable services in H.M.S. "Royal Sovereign," 1st Battle Squadron." From April to June 1920, Shaw studied at in Portsmouth as part of his promotion to lieutenant, which he obtained on 31 August 1920. The following year he served aboard the Royal yacht HMY Victoria and Albert. He served aboard a number of ships throughout the mid-twenties, by 31 August 1928 he had risen to the rank of lieutenant commander. From 1931 to 1933, he was posted aboard, while serving on the ship he was promoted to commander. His service in the navy continued to the start of World War II, having been promoted to captain months before the start of the war in September 1939. He spent eight months from 1939 to 1940 as the commanding officer of. From 1940 to 1942 he served as commanding officer aboard. In August 1943, he served on board and was temporarily Captain of the Fleet to Commander-in-Chief of the Eastern Fleet. He was mentioned in dispatches in December 1942, having been mentioned for bravery in the face of the enemy or in dangerous waters. He was again mentioned in dispatches in March 1943, relating to the Operation Torch landings by Allied Forces in North Africa. In later 1943, Shaw was the Chief Staff Officer to Flag Officer, Western Italy, based at RN Base Bizerta in Tunisia. He was later the Commanding Officer of RNAS Portland, from May 1945 to April 1947. Shaw retired from the navy on 10 July 1948, with his name being placed on the retired list of Captains.
Cricket
Shaw made his first-class debut for the Royal Navy against the Army in 1926. He made four further first-class appearances for the Royal Navy, the last of which came against the Royal Air Force in 1928. In his five first-class matches for the team, he scored 331 runs at an average of 36.77, with a high score of 83. His highest score, one of two fifties for the Royal Navy, came against the Army in 1928. He made a single Minor Counties Championship appearance for Buckinghamshire against Hertfordshire in 1928. In 1931, he made a first-class appearance for the Combined Services against the touring New Zealanders at the United Services Recreation Ground in Portsmouth. In a drawn match, he scored 49 runs in the Combined Services first-innings, while in their second-innings he scored 119 runs, before being dismissed by Ian Cromb. In 1933, Shaw played three Minor Counties Championship matches for Oxfordshire. In 1937, he made his final first-class appearance for the Combined Services against the touring New Zealanders. In this match, he was dismissed for a duck in their first-innings by Alby Roberts, while in the second-innings he scored 32 runs before being dismissed by Jack Dunning.