Bash脚本执行报错求助:ls命令提示无法访问'ls'问题排查
问题分析与解决
你的脚本错误出在ls命令的写法上,你把三个ls命令硬凑在同一行却没正确分隔,导致系统误解了参数。
错误原因
当你执行ls -la ls -la ../ ls -la /boot时,bash会把整段内容当成一个ls命令的参数:
-la是ls的合法选项- 后面的
ls、-la、../、/boot都会被ls当作要列出的文件/目录名
所以ls会尝试查找名为ls的文件,找不到就抛出了cannot access 'ls'的错误。
正确写法
你需要把三个ls命令分开执行,有两种常用方式:
- 分多行编写(可读性更好):
#!/bin/bash ls -la ls -la ../ ls -la /boot
- 同一行用分号分隔命令:
#!/bin/bash ls -la; ls -la ../; ls -la /boot
这样每个ls命令都会独立执行,分别列出当前目录、父目录和/boot目录的内容。
内容的提问来源于stack exchange,提问作者Santagotthejuice
相关产品推荐
相关产品推荐

