将短蟒蛇脚本嵌入到bash脚本中
发布时间:2020-12-15 09:11:07 所属栏目:安全 来源:网络整理
导读:我想把短的python脚本的文本嵌入一个bash脚本,用于说,我的.bash_profile。什么是最好的方式去做这样的事情? 我迄今为止的解决方案是使用-c选项调用python解释器,并告诉解释器执行从stdin读取的任何内容。从那里,我可以构建简单的工具,如下所示,允许我
我想把短的python脚本的文本嵌入一个bash脚本,用于说,我的.bash_profile。什么是最好的方式去做这样的事情?
我迄今为止的解决方案是使用-c选项调用python解释器,并告诉解释器执行从stdin读取的任何内容。从那里,我可以构建简单的工具,如下所示,允许我处理文本在我的交互式提示中使用: function pyexec() { echo "$(/usr/bin/python -c 'import sys; exec sys.stdin.read()')" } function traildirs() { pyexec <<END trail=int('${1:-3}') import os home = os.path.abspath(os.environ['HOME']) cwd = os.environ['PWD'] if cwd.startswith(home): cwd = cwd.replace(home,'~',1) parts = cwd.split('/') joined = os.path.join(*parts[-trail:]) if len(parts) <= trail and not joined.startswith('~'): joined = '/'+joined print joined END } export PS1="h [$(traildirs 2)] % " 这个方法闻到对我有点滑稽,但我想知道这样做的替代方法可能是。 我的bash脚本技巧是相当初步的,所以我特别感兴趣听到如果我从bash解释器的角度做傻事。
python解释器接受 – 在命令行上作为stdin的同义词,因此您可以用以下命令替换对pyexec的调用:
python - <<END 请参见命令行参考here。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |