Linux运行dao_all目录脚本报错:-bash: ./: Is a directory 求助
解决bash运行脚本报错“-bash: ./: Is a directory”的问题
嘿,刚入坑Linux就这么热爱,必须给你打call!咱们来快速搞定这个小问题:
首先得搞明白这个报错为啥会出现——大概率是命令输入的小失误,或者脚本缺了执行权限,下面分步骤给你解决:
1. 先检查命令有没有打错空格
最常见的坑就是在./和dao_all之间不小心多敲了个空格,比如写成:
./ dao_all/make_pyc_package.sh pkg
这时候bash会把./当成要执行的命令,但./是当前目录,自然就报错了。只要删掉./后面的空格,重新输入正确的命令就行:
./dao_all/make_pyc_package.sh pkg
2. 检查脚本是否有执行权限
如果命令完全没问题,但还是跑不起来(这时候报错一般是Permission denied,但也顺手排查下),先看看脚本的权限情况:
ls -l dao_all/make_pyc_package.sh
要是输出里看不到x(执行权限),比如像这样:
-rw-r--r-- 1 yourname yourname 1024 Aug 10 14:30 dao_all/make_pyc_package.sh
那就给脚本加上执行权限:
chmod +x dao_all/make_pyc_package.sh
加完权限再跑原来的命令,应该就能正常生成pkg目录了。
3. 懒人备选:直接用bash跑脚本
要是不想折腾权限,或者加了权限还是有问题,直接让bash来帮你执行脚本就行,命令是:
bash dao_all/make_pyc_package.sh pkg
这种方式不管脚本有没有执行权限,都能正常运行,省心又快捷~
内容的提问来源于stack exchange,提问作者Stacey
相关产品推荐
相关产品推荐

