频道栏目
首页 > 资讯 > Linux > 正文

python linux 系统管理指南学习笔记- 第二章(2)在IPython下执行shell命令-魔力函数(alias store rehash)

17-04-19        来源:[db:作者]  
收藏   我要投稿

python linux 系统管理指南学习笔记- 第二章(2)在IPython下执行shell命令-魔力函数(alias store rehash)。我们在工作中经常使用 linux 下的命令行模式,也就是 shell 。 但是 shell 有一个问题,就是必须一条一条执行命令。 输入命令,等待执行结果,继续输入命令,等待结果。好像一个循环。 而如果我们使用文本编辑器,编写脚本来执行,却又失去了交互的体验。

我们现在提到的魔力编辑,就是 IPython 在命令行和文本之间的一种折中,汲取了两者的优点。

我们使用 lsmagic 来查看全部魔力编辑的内建函数,使用 %magic 命令查看魔力函数的帮助 当然你要觉得 %magic 太多了。可以用 %quickref 来查看魔力函数的 “一句话”版本。

================================================== 我们如果希望使用 IPython 来取代 shell 。最大的问题其实是命令不互通。 很多系统命令我们要在IPython里实现的话会恨麻烦。就像之前我们做过的那样,调用 subprocess 因此我们可以通过我们接触到的第一个魔力函数 alias 来解决这个问题。

alias 到的alias 命令可以创建一个IPython的快速方式,执行系统命令。

我们看到,在 IPython 环境下直接执行 bash 命令是无效的。 但是我们通过 alias 对 bash 命令生成一个别名 nst ,再执行就可以了。 当然 bash 命令是可以加参数的。我们的例子就加了 -lptn 参数,在执行别名的时候,一起执行了。 同样我们在 alias 已经定义的别名后面加其他操作也是可以的。

好下面我们再讨论一个情况。如果我们要输入多个可变参数,能否有更方便的 alias 定义方法.

这里用到了 %s ,从例子中我们得知,我们使用 %s 定义了2个字符型的插入参数。 在使用命令的过程中,我们将参数跟在命令后面,会逐个读入。 如果参数少于定义的数量会报错 参数多余定义的数量会全部跟在后面。

store 要保存定义的别名,以方便今后使用,需要用到 %store 魔力函数

我们保存后退出

再次进入后执行 store -r 读取保存的 alias 。就可以使用了。 ================================================== 在IPython下执行shell命令 我们上面说了别名方法执行 bash 的命令。下面我们再介绍一种更简单的方法。命令前加“!”

很方便,当然我们在 IPython 里不能传递个参数是不是很 low 。

和bash 一样,我们使用 $变量名 在 !下来调用变量。 可以使用变量,当然可以把结果赋值咯。

这里我们演示了把 bash 执行结果赋值给一个变量,顺便普及下中文的输出法。 直接输出变量 l 我们看到是乱码,因为我们并没有引入 chinese code ,显示不了中文。 因此我们可以使用 print str(变量名).decode('string_escape') 显示中文

总结下,如果是常用的命令,就使用 alias 自己定制成自己顺手的,但是偶尔执行一次的话 !足以

rehash/rehashx 如果我们希望将全部的 shell 都创建一个 alias 可以使用到这个魔力函数。 虽然恨方便,但是确实不建议这么做,因为用 !就很好了。 这里就不做演示了。

相关TAG标签
上一篇:Android 申请运行时权限 以camera为例
下一篇:Linux sar 分析网卡流量
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站