python - 我们如何从 python 程序/脚本创建别名?
问题描述
我想通过 python 程序创建一个别名。我打算使用 python 作为 shell 脚本的替代品。
我尝试的是:
import os
os.system('alias go2dir="cd /i/want/to/goto/this/dir"')
......它不起作用。我知道原因 - 系统命令 'alias...' 正在另一个 shell 中执行,而不是在执行此 python 脚本的当前 shell 中执行。因此,此 shell 无法使用该别名。
我不知道的是 - (通常,)我们如何在执行这个 python 程序的同一个 shell 中执行来自 python 程序的命令。所以(在这种情况下)别名在 shell 终端打开之前可用?
解决方案
其他希望在用户的 shell 中自动执行操作的应用程序的工作方式是将 shell 命令写入其标准输出。然后你可以用eval
.
makealias.py:
print('alias go2dir="cd /i/want/to/goto/this/dir"')
然后在bash中:
eval "$(python makealias.py)"
像这样工作的标准 Unix 程序的一个示例是tset
使用该-s
选项。
推荐阅读
- xml - 仅将命名空间前缀添加到没有的子节点
- java - 回退
.... Java 除外 - workflow - 在另一个 DMN 模型中重用决策需求图?
- reactjs - antd 不允许 Mobx 在动作之外更改观察到的可观察值
- database - 深度嵌套数据 - AgensGraph 中的属性
- azure-devops - 任务 A 如何创建新的构建变量以供同一任务组 (TG) 中的任务 B 使用,而不会将其暴露在 TG 之外?
- javascript - 如何从谷歌表格中的另一个宏调用宏?
- sql - CASE 表达式中的窗口函数
- asp.net - 在 IIS 上调整 ASP.Net 框架
- jquery - Jquery Popunder代码说明