如何在Shell中创建自己的bash命令选项

时间:2019-07-04 12:43:50

标签: bash shell ubuntu

我在bash上没有太多经验,我需要从Ubuntu VM终端运行python文件。 python文件需要一些作为参数传递的用户输入,我想知道是否有任何方法可以让我拥有用户输入后跟的自定义选项。

我尝试过'alias options =''',但是不幸的是,这不是我所需要的。

我想要这样的东西:

 python test.py -name [name] -gender [gender] 

希望有人会帮忙。

1 个答案:

答案 0 :(得分:1)

好的,我想我理解您的问题,但是如果我错了,请随时告诉我。

因此,您要运行脚本,该脚本接受命令行参数,并且您希望在运行脚本时接受来自终端的用户输入。有多种方法,一个简单的方法就是声明一个函数,用于包装解析stdin和创建选项的逻辑,如:

root@mybox[/tmp] Fri Jul 05 <09:07:24>
--> function wrap_script {
> read -p 'Enter gender:' opt1
> read -p 'Enter name:' opt2
> echo "Here you'd call test.py using -gender $opt1 and -name $opt2"
> }
root@mybox[/tmp] Fri Jul 05 <09:08:14>
--> wrap_script
Enter gender:foo
Enter name:bar
Here you'd call test.py using -gender foo and -name bar
root@mybox[/tmp] Fri Jul 05 <09:08:19>

如果您想保留该功能,请确保该功能是在登录时获取的,可以直接在您的.bash_profile中获取,也可以通过购买其他文件来获取。