Originally an ideogrammic compound (會意): 大 (“man”) + [Term?] (“tilted head”) + 丨 (“cane”) – a man with a cane looking around with his mouth wide open, not know where to go – to be confused; to doubt. In the oracle bone script and bronze inscriptions, 彳, 亍, and/or 止 was often added to indicate walking on a path.
Various phonetic components have been added later: 牛 (OC *ŋʷɯ) in the bronze script, 子 (OC *ʔslɯʔ) or 乙 (OC *qriɡ) in the bamboo and silk script, and 子 (OC *ʔslɯʔ) or 矢 (OC *hliʔ) in the seal script. 子 is perhaps a corruption of 牛.
By the seal script, the man has been corrupted to 𠤕, leading Shuowen to slightly misinterpret the character to represent “a child standing on an obstructed road to compare the paths”: semantic 子 (“child”) + semantic 止 (“to be obstructed”) + semantic 匕 (“to compare”) + phonetic 矢 (OC *hliʔ). Duan Yucai's commentary on Shuowen offers an alternative interpretation, pointing out that 矢 (OC *hliʔ) is unlikely to be the phonetic component: semantic 子 (“child”) + semantic 𠤕 (“uncertain”) + phonetic 止 (OC *kjɯʔ).
The current form is derived from the seal script, with more abstractions on the right (子 + 止 becoming マ + 疋).