诸葛亮内心也清楚,北伐不可能成功,然而,他别无选择。
诸葛亮第一次北伐,派遣赵云、邓芝率领疑兵扬言要从斜谷道进攻郿县,于是曹真率领魏国主力进驻郿县,诸葛亮却率领主力突袭祁山,于是几乎兵不血刃夺取安定、天水、南安、广魏四郡,只有陇西郡还在抵抗。雍州刺史郭淮只能困守上邽等待援军,陇西郡守游楚也表示只要诸葛亮能够成功阻击魏国东方的援军,陇西群也愿意投降。至此,魏国陇西地区几乎全都划入蜀汉版图,曹真的部队却远在千里之外的箕谷与赵云对峙。
这一次北伐是最接近成功的一次,诸葛亮通过声东击西之计,的确打了魏国一个措手不及,原本只要诸葛亮能够断绝陇道,阻止魏军救援陇西地区,陇山以西的半个雍州和整个凉州都将划入蜀汉版图。遗憾的是,马谡违背诸葛亮的部署,在街亭(广魏郡)被张郃打败,诸葛亮见已经无力阻止魏国援兵进入陇山以西地区,为避免更大的损失率领大军紧急撤退,箕谷的赵云也因为寡不敌众,被曹真击退,依靠烧毁栈道才得以安全撤退,这次虎头蛇尾的北伐唯一的两个成果就是迁移了陇西地区部分人口,收降了姜维,这相对于街亭之败以及人力物力的损失,是得不偿失的。
相对于北伐兵力的损失,更为严重的是,这次北伐的失败极大动摇了蜀汉军民继续北伐的决心。诸葛亮第一次北伐之前,刚刚经历南中大捷后不久,朝堂上整体对于北伐还是持乐观态度的,而诸葛亮第一次北伐以后,朝堂之上开始出现“保境安民,休养生息”的反战观点,以至于诸葛亮回朝以后,也不得不自贬三等以谢罪。
第二次北伐之前,诸葛亮又献上《后出师表》,这个《后出师表》其实并不是给刘禅看的,刘禅后来自己都说“政由葛氏,祭则寡人”,可见刘禅已经把军政大权全都交给了诸葛亮,诸葛亮已经有了《前出师表》,根本没必要在献上《后出师表》。即使没有《后出师表》,刘禅也不会干涉诸葛亮北伐的。
诸葛亮的《后出师表》,其实是给蜀汉那些反对北伐的人看的,《后出师表》开头第一句话就是“先帝虑汉、贼不两立,王业不偏安,故托臣以讨贼也。”这很明显是拿先帝刘备来压群臣,这是向那些反对北伐的大臣传达这样一个意思:我诸葛亮北伐并非一意孤行,而是身负先帝所托。我诸葛亮北伐,并非为了自己,而是’奉诏讨贼’。《后出师表》最后提到:臣鞠躬尽瘁,死而后已;至于成败利钝,非臣之明所能逆睹也。意思是北伐能不能成功不是我能够预料到的,我能够做到的只有竭尽全力去争取胜利,这其实也洋溢出了一种悲观的基调,与《前出师表》说的:当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都,形成巨大的反差。由此可见,第一次北伐的失败让诸葛亮自己都有点心灰意冷了,如果不是想到先帝那句“汉、贼不两立”,诸葛亮自己都无法说服自己继续北伐。
其实诸葛亮很清楚现在的局势,第一次北伐,之所以一度看到成功的希望,是魏国认为蜀汉只有一州之地,刘备又死了,从而轻视蜀汉,诸葛亮才得以打了魏国一个措手不及,而反应过来的魏国根本不是蜀汉能够抵挡的。虽然第一次北伐失败的直接原因是马谡失街亭,但是就算诸葛亮亲自指挥街亭之战,就算换魏延去守街亭,结果就一会不一样么?北伐失败的根本原因还是因为蜀汉与魏国国力的鸿沟,假如荆州没有失守,魏国哪来夺取的兵力救援陇西?如果说第一次北伐的诸葛亮是信心满满,真的意图恢复汉室的话,之后的北伐诸葛亮只不过是为了不辜负刘备在南阳的知遇之恩,在白帝城托孤之情而已。