Linux 正在将shell文件复制到路径

Linux 正在将shell文件复制到路径,linux,windows,windows-subsystem-for-linux,Linux,Windows,Windows Subsystem For Linux,我不熟悉WSL和Linux,但我尝试按照rhasspy()的安装说明进行操作。我已经成功运行了makeinstall命令,下一步说我应该在路径中的某个地方复制rhasspy,但我不太明白复制到路径意味着什么 安装完成后,将rhasspy.sh复制到路径中的某个位置,并将其重命名为rhasspy 我把它添加到路径中,但没有任何更改,所以我想知道是否有什么地方我做错了。现在,当我在wsl上运行rhasspy时,它会显示rhasspy.sh:command not found。任何帮助都将不胜感激 路

我不熟悉WSL和Linux,但我尝试按照rhasspy()的安装说明进行操作。我已经成功运行了
makeinstall
命令,下一步说我应该在路径中的某个地方复制rhasspy,但我不太明白复制到路径意味着什么

安装完成后,将rhasspy.sh复制到路径中的某个位置,并将其重命名为rhasspy


我把它添加到路径中,但没有任何更改,所以我想知道是否有什么地方我做错了。现在,当我在wsl上运行rhasspy时,它会显示
rhasspy.sh:command not found
。任何帮助都将不胜感激

路径是一个环境变量。启动
env
时,您会看到系统上已知环境变量的列表

为了向
路径
变量中添加一些内容,您需要获取该变量,添加所提到的目录(前面有一个分号,很可能是一个分隔符),然后再次将其存储为
路径
变量。这可以通过以下方式完成(自己的示例):


它在linux中引用的
“PATH”
就在名为
/usr/bin
的文件夹中。在终端中键入命令时,它会在位置中查找具有该名称的程序。我不确定这是否是您要查找的
路径,但希望它有帮助

它说的是,将它放在某个地方,当您在shell中键入其名称时,如果没有完整路径,系统将查找它

有一个环境变量
PATH
,它包含所有这些位置,由
分隔:
。(签出
echo$PATH

所以,这些说明的作者让你决定是否

  • 您希望将文件复制到您选择的已在
    路径中的位置,例如
    /usr/local/bin
    ~/bin

    通常,
    ~/bin
    是一个不错的选择,因为它是针对每个用户的,并且不会污染系统

    (请注意,目录
    ~/bin
    仅在存在时由
    .profile
    文件添加到
    路径
    ,因此,如果您还没有此目录并立即创建它,则需要启动新的登录shell或运行
    ~/.profile
    1才能使用它。)

  • -或-

  • 您希望专门为此应用程序创建一个新目录(例如
    ~/opt/rhasspy
    ),并将该目录附加到
    路径
    变量

    这可以通过将行
    export PATH=$PATH:~/opt/rhasspy
    添加到
    ~/.profile
    文件中来实现。然后,启动一个新的登录shell或使用
    ~/重新加载文件。配置文件
    1以使更改生效

    如果您可以永久保留此文件当前所在的目录,那么您也可以将该目录添加到
    路径
    ,而不是创建一个新目录

  • 注意:路径始终包含shell将在其中查找可执行文件的目录路径。它不包含实际的文件路径



    1:是的,从技术上讲,登录到新shell或手动运行该
    export
    语句比使用
    ~/更“干净”。配置文件
    ,因为后者将再次应用以前已经完成的操作,因此,例如,它可以在当前会话中多次使用路径
    中的同一目录。但在大多数情况下,这很好。

    我想知道向path添加内容是否与将内容复制到path相同?请注意:您始终需要向path添加内容,否则可能会导致系统无法继续工作。您的PATH变量是什么?您所指的目录是什么?我来看看如何创建一个新的PATH变量。
    /usr/bin
    通常在
    路径中,但它不是
    路径。你误解了我,相反。请尝试
    echo$PATH
    了解我的意思
    /usr/bin
    是通常在
    路径
    变量中设置的目录之一。但是那个变量和一些目录不是一回事。@CherryDT是的,我现在明白你的意思了,但我想说的是,程序应该进入路径中的某个文件夹,而不是实际添加到路径中。是的,这是真的,但你的回答听起来就像路径中唯一的目录是
    /usr/bin
    因为我不喜欢杂乱的主目录,所以我更喜欢的替代方法是扩展XDG指定的“$home/.local/share”,显然是使用“$home/.local”的附加子目录,包括“bin”、“lib”和“opt”。如果目录存在,Ubuntu中的“$HOME/.profile”登录脚本会将“$HOME/.local/bin”添加到
    路径中。
    
    export PATH=$PATH:/home/this_user