建安二十四年(219)三月,曹操率领大军终于出了褒斜道,到达汉中盆地。《三国志·先主传》记载,对这个老对手,刘备采取先不与其争锋的对策,“敛众拒险,终不交锋”。但这并不是示弱,刘备新获定军山大捷,信心十足,对左右说:“曹公虽来,无能为也,我必有汉川矣。”褒斜道的南出口即褒口,就在阳平关附近,于是双方仍将主力调往阳平关地区,在这里展开部署与对峙。与去年的情况有所不同的是,阳平关地区的险要地势已不为曹军所独有,由于在前一阶段进攻中屡屡得手,刘备已指挥人马抢占了阳平关、定军山一带的许多险地位置。如《水经·沔水注》记载:
城东容裘,溪水注之,俗谓之洛水也。水南导巴岭山,东北流。水左有故城,凭山即险,四面阻绝。昔先主遣黄忠据之,以拒曹公。溪水又北径西乐城东,而北流注于汉。汉水又左得度口水,出阳平北山。
这里的“城”指的是汉中地区的军事要塞汉城,因为还有一个乐城,在汉城以东,所以《水经注》中也把汉城称为“西乐城”,其位置在今汉中市勉县境内。这里过去被曹军所占领,刘备的人马攻打起来十分吃力;现在攻守对调,曹军反而被动了。令曹军被动的还有后勤。曹军原来留守在汉中的人马有数万人,曹操此来至少也带来数万,约十万曹军一下子拥进汉中盆地,军粮的供应成为大问题。因此,曹操也不敢贸然发起进攻,而是将兵力部署在阳平关一带寻找战机,同时加紧从关中地区向这里运送粮食。
曹军的运粮队从北山下经过,队伍很长,黄忠居高临下,看得很清楚。《三国志·赵云传》注引《云别传》记载,黄忠认为可以袭击一下,把粮食劫过来。刘备的人马也存在军粮供应的难题,如果能把对方的军粮劫过来,对敌人将是双倍打击。刘备采纳了黄忠的建议,为保险起见,让赵云随黄忠一起去劫粮。黄忠先出发,赵云在后,但到了约定时间黄忠仍然未归,赵云率几十名骑兵出了营寨,去接应黄忠。赵云刚出来就遇到曹军主力,双方展开激战,赵云身边只有几十个人,且战且退,奋力杀出重围。这时,赵云发现部将张著负伤被围,赵云又折返回去,杀入重围把张著救了出来,之后杀回自己的营寨。
赵云的营寨已被曹操原先任命的沔阳县长张翼带人占领,张翼闭门拒守,赵云杀了进去,将营寨重新占领,之后把营门打开,偃旗息鼓。曹军到后,看到这种情况,怀疑营内有伏兵,不敢攻营,于是撤退。赵云不干,擂鼓震天,用弓弩射击曹军,曹军惊骇不已,自相践踏,还有不少人坠入水中淹死。第二天,刘备亲自到赵云营中视察,看到前一天的战场,不禁替赵云捏了把汗。刘备赞叹道:“子龙一身都是胆也!” (《云 别传》) 当天,刘备下令在营中摆酒庆贺,“作乐饮宴至暝”,刘备军中称赵云为“虎威将军”。《三国志·赵云传》注引《云别传》记载:
忠过期不还,云将数十骑轻行出围,迎视忠等。值曹公扬兵大出,云为公前锋所击,方战,其大众至,势逼,遂前突其陈,且斗且却。公军败,已复合,云陷敌,还趣围。将张著被创,云复驰马还营迎著。公军追至围,此时沔阳长张翼在云围内,翼欲闭门拒守,而云入营,更大开门,偃旗息鼓。公军疑云有伏兵,引去。云雷鼓震天,惟以戎弩于后射公军,公军惊骇,自相蹂践,堕汉水中死者甚多。
诸葛亮的空城计十分有名,说的是诸葛亮第一次北伐时在陇右地区的西县摆下空城计,吓退了曹魏主帅司马懿。但在历史上这件事是没有的,因为司马懿那时还没有直接与诸葛亮交手,他还在几千里外的荆州,没有参加陇右会战。再者,即便司马懿来了,率领传说中的“十万大军”围住西县县城,诸葛亮也不可能摆出空城计。可以看一下北京西南郊的宛平城,也是个县城,大体上是古代县城的标准版,该城有四座城门,城中的主要街道其实只有两条,也就是连接四门的街道,站在任意一处城墙上,都可以把城内情况一览无余。一个县城,不用十万,不用数万,只用一万人马就能把它围起来,城里即使有伏兵又能藏多少?肯定先围起来再说。所以,面对敌人数万之众,诸葛亮只能快跑,不可能坐在城头上从容弹琴。
那么,小说中的“空城计”是根据什么创作出来的呢?主要是根据《蜀记》的相关记载。据《蜀记》记载,晋初扶风王司马骏守关中,他手下有几位中下级官员在一起议论诸葛亮的功过,大家对诸葛亮多持讥评,认为他托身蜀汉不当,力量小却想办大事。有一个名叫郭冲的人站出来为诸葛亮鸣不平,说了诸葛亮的五件事,把这几位官员说住了,司马骏听说后十分感慨,称赞郭冲说得对。郭冲说的五件事中的第三件就是关于“空城计”的。按照郭冲的说法,诸葛亮屯兵于阳平关期间,派魏延率主力东进,他只留一万人守城。司马懿这时率二十万大军前来,和魏延率领的主力错道而行,蜀军因此没有发现,等诸葛亮知道情况时,敌人距此只有六十里了。侦察兵向司马懿汇报说,诸葛亮在城中兵少力弱,诸葛亮也知道司马懿马上就要到,他想去通知魏延,但相去已远,魏延即便回军也来不及了。城中将士皆失色,诸葛亮却神色坦然,镇定自若,下令军中偃旗息鼓,不准随便走出营帐,又下令大开城门,并“敕军中皆卧旗息鼓,不得妄出庵幔,又令大开四城门,扫地却洒” (《三国志·诸葛亮传》) 。司马懿知道诸葛亮一向持重,而今却摆出如此虚弱无力的样子来,很是奇怪,怀疑诸葛亮有伏兵,于是率领人马向北上了山。司马懿后来也知道了这件事,后悔不已。不过,郭冲说的“空城计”漏洞百出,比如说司马懿与诸葛亮交战于阳平关,这查无实据;司马懿一次领兵二十万,也不太可能;司马骏是司马懿的儿子,郭冲作为司马骏的下属,胆敢在儿子面前非议他父亲,可能性也不大。
那么,汉末三国的历史上有没有发生过“空城计”呢?其实是有的,只不过不是“空城计”,而是“空营计”,创造者不是诸葛亮,而是赵云,这就是建安二十四年(219)发生在汉中的这次作战。除此之外,曹操也创造过“空营计”,那是在汉献帝兴平元年(194)冬天,曹操亲自指挥人马在兖州刺史部山阳郡作战,吕布、陈宫很快摸到了曹操的总指挥部,立即率人马杀来,此时在曹操身边的人马并不多。《三国志·武帝纪》注引《魏书》记载,此时曹操身边只有不到一千人,“屯营不固”,而吕布手下至少十倍于曹军。由于战事发展得太快,曹军的战线拉得太长,很多将领率人马在各地作战。面对数倍于己的敌人,曹操命令妇女们都登上屯营的城墙守卫,把精壮士兵集中起来迎敌。屯营的西面有一个大堤,大堤的南面是一片茂密的树林,吕布率军来到,看到树林,怀疑里面有埋伏。吕布最近实在被曹操打怕了,心里有很大阴影,就对手下说曹操多诈,这里面肯定有埋伏。于是,吕布率军离曹军屯营十里处扎寨。第二天又来,此时曹操把队伍隐藏在大堤内,派一半兵力在堤外,吕布率军进攻,曹操派少数人迎击,等敌人逼近,伏兵杀出堤外,吕布大败,曹军缴获了不少敌人的鼓车,一直追到吕布大营才回军。
“空城计”虽然与诸葛亮无关,但这并不贬损诸葛亮的军事指挥才能,也不能因为这个就全面否定诸葛亮。人们愿意把类似“空城计”的奇谋妙计放在诸葛亮的身上,正好说明大家对诸葛亮智慧的钦佩和对他的喜爱。