如何从Windows中的任何目录使bash命令可执行?

时间:2019-12-24 17:36:24

标签: bash git-bash

我制作了一些bash脚本,并保存到各个文件夹中。我有Windows10。这些脚本具有在bash中执行命令的功能。现在,我已经可以从任何目录执行这些.sh脚本了,因为我已经将它们保存的文件夹添加到了path变量中。但是我想让它变得更简单,并且只需要在bash控制台中键入该函数即可执行命令。

这是脚本之一的示例。它保存为file_lister.sh。我可以通过键入“ file_lister.sh”来运行它,但我想仅通过在脚本中键入函数名称即“ list_files”来运行它。我该怎么做呢?预先感谢。

#!/bin/bash

function list_files(){
    cp C:/Users/jmell/OneDrive/projects/file_lister/file_lister.py file_lister.py
    python file_lister.py
    cwd=$(pwd)
    if [ $cwd != "/c/Users/jmell/OneDrive/projects/file_lister" ]
    then
        rm file_lister.py
    fi
}

list_files

1 个答案:

答案 0 :(得分:1)

除非您提供所有脚本(例如,在.bashrc文件中),否则不会定义函数。但是,您的函数正在做很多本不应该做的额外工作。示例脚本可以简化为

#!/bin/bash
python C:/Users/jmell/OneDrive/projects/file_lister/file_lister.py

更好的是,请记住,shebang线已被外壳读取并剥离。它指定要使用的解释器。代替创建包装脚本,将以下行添加到file_lister.py

#!/path/to/python

那时候,我还建议将file_lister.py重命名为file_lister