Command line 启动终端时出错:"-bash:QSTK/local.sh:没有这样的文件或目录;

Command line 启动终端时出错:"-bash:QSTK/local.sh:没有这样的文件或目录;,command-line,terminal,Command Line,Terminal,“-bash:QSTK/local.sh:没有这样的文件或目录” 我犯这个错误已经一年多了。你知道我该怎么修吗?没有类似的建议可以解决这个问题 回应奥利维尔的建议: 当我跑的时候 grep QSTK/local\.sh' /etc/* ~/.??* 我得到这个输出: grep: /etc/aliases.db: Permission denied grep: /etc/kcpassword: Permission denied grep: /etc/krb5.keytab: Permis

“-bash:QSTK/local.sh:没有这样的文件或目录”

我犯这个错误已经一年多了。你知道我该怎么修吗?没有类似的建议可以解决这个问题

回应奥利维尔的建议:

当我跑的时候

grep QSTK/local\.sh'  /etc/*   ~/.??*
我得到这个输出:

grep: /etc/aliases.db: Permission denied
grep: /etc/kcpassword: Permission denied
grep: /etc/krb5.keytab: Permission denied
grep: /etc/master.passwd: Permission denied
grep: /etc/sudoers: Permission denied
/Users/DylanRichards/.bash_profile:source QSTK/local.sh
/Users/DylanRichards/.bash_profile.pysave:source QSTK/local.sh
/Users/DylanRichards/.profile:source QSTK/local.sh
Dylan-Richardss-MacBook-Pro:~ DylanRichards$ 
我打字的时候

-type f -size -200 -print0 2>/dev/null | xargs -0 grep 'QSTK/local\.sh' /dev/null

它什么也不返回。在我的终端开始时,错误仍在发生。

以下是您对我的问题的回答:

要查找负责的脚本,首先在shell的启动脚本中:

grep 'QSTK/local\.sh'  /etc/*   ~/.??*
如果这还不够:

find / -type f -size -200 -print0 2>/dev/null | xargs -0 grep 'QSTK/local\.sh' /dev/null
(只需复制/粘贴此文件,同时在终端窗口中以root用户身份登录,这样您就可以grep大多数文件)

(附加的“/dev/null”用于强制grep显示匹配文件的名称,即使只有一个参数,如果xargs以单独生成最后一个文件的方式拆分,则可能会出现这种情况)

(我只检查小于100kb[100 x 512字节]的文件,因为任何较大的文件都很可能是二进制文件,而不是脚本…)

请注意,如果“QSTK”在变量中,或是构造了

但它可以工作。请尝试一下,让我们知道您是否能够纠正错误,或者如果您不知道如何继续,请提供其他信息

==更新=====================

发布后:

/Users/DylanRichards/.bash_profile:source QSTK/local.sh
/Users/DylanRichards/.bash_profile.pysave:source QSTK/local.sh
/Users/DylanRichards/.profile:source QSTK/local.sh
我推荐你

  • 1) 检查您是否确实有
    /Users/DylanRichards/QSTK/local.sh
    文件

    ls-l/Users/DylanRichards/QSTK/local.sh

  • 2) 检查它的内容,并确保每次登录时都可以执行它

    more/Users/DylanRichards/QSTK/local.sh

  • 3) 如果可以执行它(即,如果在每次登录时确实需要/想要执行它),那么

    chmod+x/Users/DylanRichards/QSTK/local.sh
    ls-al/Users/DylanRichards/QSTK/local.sh

如果愿意,您可以发布
ls-l/Users/DylanRichards/QSTK/local.sh的信息

但是关于它的内容,请验证它(如果它可能包含重要的安全信息,请不要在这里发布…)。(如果您觉得可以安全地向我们展示,您可以发布:
cat/Users/DylanRichards/QSTK/local.sh
(除非超过20行…)

最后,如果在/Users/DylanRichards/QSTK/local.sh中找不到该文件:

find / -type f -name "local.sh" -print 2>/dev/null | grep QSTK/local.sh

将向您显示它的位置。再次检查它的内容,如果它看起来很好(并且需要),请使用正确的文件路径编辑~/.bash_配置文件和~/.profile。

使用文本编辑器打开.bashrc文件,如下所示

$gedit.bashrc

在文本文件中查找路径.QSTK/local.sh,可能在最后一行中,您可能会看到类似的内容 虚拟环境禁用提示=1 source/home/QSTK/local.sh

在行首添加#注释掉该行,然后保存


试一试

你什么时候得到它?启动时?每次打开终端时?是的。那是我得到它的时候。嘿,@Olivier我已经用终端在键入你的命令后生成的内容更新了这个问题。再次编辑了主帖子@Olivier@DylanRichards:我根据你的新信息再次更新了答案