我制作了一些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
答案 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
。