当前位置: 首页 > 知识库问答 >
问题:

cd命令在bash中看不到目录

蓬野
2023-03-14

我有以下bash脚本

#!/bin/bash
run_python(){
    cd "`dirname $1`"
    python "`basename $1`" $2 >test.log
}

crypto_util=/home/dev/src/crypto/util.py
run_python $crypto_util "testpassword"

不知何故cd命令失败说:

CD: /home/dev/src/crypto没有这样的文件或目录。我很确定该目录存在。

另一方面,如果我执行以下操作,也会失败:

run_python(){
    python "$1" $2 >test.log
}   

说python无法打开文件home/dev/src/crypto/util。py,因为没有这样的文件。

知道为什么吗?

这是目录/文件上ll命令的输出:

drwxr--r--. 2 dev root 4096 Jun 11 18:56 crypto

-rwxr--r--. 1 dev root  4934 Jun  9 10:50 util.py

ls输出-llid/主/

654084 drwxr-xr-x. 4 root root 4096 May  8 10:52 /home

ls的输出-lid/home/dev/

924265 drwxr--r--. 4 dev root 4096 Jun  9 09:17 /home/dev/

ls的输出-lid/home/dev/src/:

924266 drwxr--r--. 9 dev root 4096 Jun  9 10:01 /home/dev/src/

ls-lid-home/dev/src/crypto的输出:

924333 drwxr--r--. 2 dev root 4096 Jun 11 18:56 /home/dev/src/crypto/

ls的输出-盖/家/dev/src/crypto/util.py:

924337 -rwxr--r--. 1 dev root 4934 Jun  9 10:50 /home/dev/src/crypto/util.py

共有1个答案

江凯风
2023-03-14

其中一些目录没有设置x权限位-这些是输入目录所必需的。您的问题可能是,您的脚本正在以“dev”以外的其他用户作为所有者运行。dev是唯一允许更改这些目录的用户。将dirs设置为x,然后重试。

 类似资料:
  • 问题内容: 我在修复此bash脚本中的错误时遇到问题,我真的不知道我做错了什么,感谢您的任何帮助,谢谢 问题答案: 在 之前和 之后 添加一个空格。

  • cd 命令,是 Change Directory 的缩写,用来切换工作目录。 Linux 命令按照来源方式,可分为两种,分别是 Shell 内置命令和外部命令。所谓 Shell 内置命令,就是 Shell 自带的命令,这些命令是没有执行文件的;而外部命令就是由程序员单独开发的,所以会有命令的执行文件。Linux 中的绝大多数命令是外部命令,而 cd 命令是一个典型的 Shell 内置命令,所以 c

  • 问题内容: 我正在尝试通过nodeschool.io练习。我在运行他们的软件包时遇到了麻烦。 我安装的第一个软件包: 使用以下命令运行软件包 我尝试在其站点上安装的所有其他软件包,但无法在命令行中使用正确的命令运行该程序,例如: 这是我在示例中尝试安装的软件包的链接:functional-javascript- workshop 如您所见,我收到消息 查看其他存在类似问题的帖子,我运行以下命令以查

  • 我正在努力完成nodeschool.io练习。我在运行他们的包时遇到了麻烦。 我安装的第一个软件包: 使用命令 在他们的站点上,我尝试安装的每个其他软件包都无法使用命令行中的正确命令运行程序,例如: 下面是我试图在示例中安装的包的链接:functional javascript workshop 如您所见,我收到消息 查看其他有类似问题的帖子,我运行了以下命令以查看我的路径和保存包的位置: 我尝试

  • 我使用的是Debian9.3。(拉伸)我无法运行“npm”命令。 节点-v的输出 nodejs-v的输出 输出为 我是Debian的新手,我不知道发生了什么 -我已重新安装节点。js -我已经试着按照官方页面的步骤操作了 -我已经运行了Output -我在Debian测试,在那里时也有同样的错误。 感谢阅读和帮助 -Melt

  • 我正试图在终端更改我的命令promt。我不断得到错误: 我已经尝试过了,只需按如下方式将其键入终端:。我也在中试用过它 正如您可能能够看到/告诉,是的,我确实安装了自动完成,它确实工作得很好! 下面是更改后的错误输出: 注意:我也把别名移到了源下面,没有什么不同。我有git版本1.7.12.1 编辑10/13/12 不,我绝对不想自己定义__git_ps1,只是想看看这样做是否能识别它。是的,我已