从控制台输入可扩展的输入

问题描述 投票:0回答:1

假设这个简短的shell脚本

#! /bin/sh                                                                      
read -p "Enter directory: " dir
echo $dir

或python脚本

#!/usr/bin/env python                                                           
dir = input("Enter directory: ")
print dir

当我尝试使用环境变量从控制台输入目录时,例如$PROJECT

$PROJECT/src

环境变量未扩展,但TAB显示为TAB。

有没有办法从控制台扩展输入?

python shell input
1个回答
2
投票

为什么不使用sys.argv?您可以将环境变量作为参数传递给脚本。例如;假设以下脚本:

#!/usr/bin/env python           
import sys                                                

print sys.argv

当我们按以下方式运行它时:

python2 example.py $PROJECT_PATH

你会发现$PROJECT_PATHsys.argv列表中的第二个元素。运行上述命令时,它将完全类似于以下输出:

['example.py', '/path/to/example/project']
© www.soinside.com 2019 - 2024. All rights reserved.