iOS快捷指令:执行Python脚本(利用iSH Shell)

这篇具有很好参考价值的文章主要介绍了iOS快捷指令:执行Python脚本(利用iSH Shell)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

iOS快捷指令所能做的操作极为有限。假如快捷指令能运行Python程序,那么可操作空间就瞬间变大了。iSH是一款免费的iOS软件,它模拟了一个类似Linux的命令行解释器。我们将在iSH中运行Python程序,然后在快捷指令中获取Python程序的输出。

核心逻辑

我们用一个“获取当前日期”的Python程序作为演示(其实快捷指令中本身存在“获取当前日期”的操作,因而此需求可以不用Python,这里仅仅为了演示方便),核心代码如下。

>>> import time
>>> time.strftime('%Y-%m-%d', time.localtime(time.time()))
'2023-02-06'

快捷指令的逻辑如下:

  1. 打开iSH。
  2. iSH启动后,自动运行我们指定的Python程序,并且自动运行一个HTTP服务器。
  3. Python程序的输出会保存在一个指定的文件中。快捷指令连接上述服务器,获取Python程序的输出。

因此iSH的Python脚本内容为:

import time
curr_date = time.strftime('%Y-%m-%d', time.localtime(time.time()))
with open('date.txt', 'w') as f:
    f.write(curr_date)

配置iSH

安装Python

首先在AppStore里面搜索iSH Shell并安装。打开iSH,输入以下命令来安装Python。

设备名称:~# apk add python3

测试一下是否安装成功。

设备名称:~# python3 --version
Python 3.8.5

创建Python脚本

在iSH中创建脚本的方法有很多,这里介绍两种。

第一种是直接在iSH中手敲代码(没用过vim的同学请自行百度学习)。

设备名称:~# vi get_date.py

然后把上面的Python脚本内容输入进去,保存并退出编辑界面。

第二种是在电脑中写好代码,然后传给iSH。

以win10系统为例,我在目录C:\tmp下写好了get_date.py,然后打开cmd,输入ipconfig查看电脑的IP,找到“无线局域网适配器 WLAN”一栏中的IPv4地址。我电脑显示的IP地址是192.168.3.99。

将cmd切换到Python脚本所在的目录(即C:\tmp),然后在cmd中输入如下命令。

C:\tmp> python3 -m http.server

回到iSH,安装wget。

设备名称:~# apk add wget

安装完成后就可以用wget来下载电脑中的文件了(注意iOS设备必须和电脑在同一个局域网中)。

设备名称:~# wget 192.168.3.99:8000/get_date.py

配置启动文件

iSH的命令行解释器是ash。与配置bash类似,先创建.profile文件。

设备名称:~# vi .profile

写入以下内容。

if [ -f ~/.ashrc ]; then
   source ~/.ashrc
fi

再创建.ashrc文件。

设备名称:~# vi .ashrc

写入以下内容。

python3 get_date.py &
python3 -m http.server &

其中每行后面的&表示在后台运行。

这样我们就完成了iSH的配置。

测试效果

关闭iSH,然后重新打开,我们发现默认目录下出现了date.txt文件。

设备名称:~# ls
date.txt
...

查看该文件。

设备名称:~# cat date.txt
2023-02-06

在同一iOS设备上,打开Safari浏览器,在地址栏中输入127.0.0.1:8000/date.txt。若浏览器能打开链接并显示内容,则配置成功。此时iSH中会有一行输出。

127.0.0.1 - - [06/Feb/2023 08:42:56] "GET /date.txt HTTP/1.1" 200 -

快捷指令

逻辑已经很清晰了,直接上图片。

ish shell,ios,python,ios,开发语言文章来源地址https://www.toymoban.com/news/detail-807665.html

到了这里,关于iOS快捷指令:执行Python脚本(利用iSH Shell)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安卓上比iOS快捷指令更强大的工具——MacroDroid

    使用 MacroDroid (Android) 自动化您的日常生活——一个简单的自动化应用程序,用于在 Android 上自动执行任务以及如何在其上自动执行任务。 iOS 和 Android 之间的区别? iOS和Android是两种不同的移动操作系统,iOS由苹果公司开发,于2007年首次发布,而Android则由Google和开放手机联盟

    2024年02月03日
    浏览(52)
  • 【Linux命令-shell】虚拟机中创建shell脚本、查看当前路径、执行脚本

    目录 一、创建shell脚本 二、查看当前的路径 三、执行脚本 一、创建shell脚本 shell脚本的特点 提前将可执行的命令语句写入一个文件中 顺序执行 解释器逐行解释代码 常见的脚本有:shell、python、PHP...... 注:用什么解释器就是什么脚本 编写shell脚本: 步骤: 1、新建文件 2、

    2024年02月05日
    浏览(47)
  • SHELL 基础 入门(三) Bash 快捷键 命令执行顺序,详解通配符

    目录 Bash 常用快捷键  输入输出重定向  用法  输出重定向  命令执行顺序  ;  分号 ||  通配符  传统通配符  ? \\\'  *  \\\'  [  ]   [ - ]   [ ^ ] 常用字符  强调 : {  }   生成序列  Ctrl + A    把光标移动到命令行开头 Ctrl + E    把光标移动到命令行尾  Ctrl + D    退出当前

    2024年02月11日
    浏览(52)
  • nodejs脚本中执行shell命令

    Node.js v8.x 中文文档: child_process - 子进程 Node.js中使用内置的 child_process 模块来执行shell命令。该模块提供了 exec 、 execFile 、 spawn 等方法来启动子进程并执行命令 exec 方法是将整个命令输出缓存到内存中,当执行 完成后一次性 返回,所以适合执行 较小 的命令 exec 方法的 回调

    2024年01月21日
    浏览(40)
  • 【Linux】编写一个 shell 脚本&执行

    在Linux中编写和执行脚本相对简单。下面是一个基本的步骤指南,帮助你创建一个简单的bash脚本并运行它: 1. 创建脚本文件 首先,你需要使用文本编辑器创建一个新的文件。这个文件通常会有 .sh 的扩展名,以表明它是一个shell脚本。例如,你可以创建一个名为 myscript.sh 的文

    2024年04月26日
    浏览(28)
  • Linux下定时执行shell脚本

    vi test.sh 录入要执行的命令  保存退出,并且对脚本进行授权  :wq chmod 777 test.sh  生产文件data.txt touch /opt/data.txt  vi /etc/crontab  录入: 一分钟执行一次  保存退出即可每个一分钟执行一次 配置说明:

    2024年02月17日
    浏览(43)
  • springboot通过接口执行本地shell脚本

    首先创建springboot项目 shell脚本 这里是执行本地脚本 然后编写执行shell脚本的util类 最后开发接口调用此类 如何执行远程脚本 在这里我试用了三种方式,实现远程脚本的执行 但是使用ssh2时 会抛出上述的异常,大体的意思就是密钥交换算法不匹配,导致连接失败。 但是老版本

    2024年02月14日
    浏览(29)
  • shell脚本-批量主机执行命令(expect)

    上次连接多台服务器使用ssh-keygen,24机器去连接22、25,所以存在.ssh/authorized_keys 1.如果有.ssh/authorized_keys该文件则先删除 1.expect命令含义 expect是一种脚本语言,它能够代替人工实现与终端的交互,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互

    2024年02月13日
    浏览(45)
  • shell批量执行命令与文件传输脚本

    对未进行主机信任操作的服务器进行批量操作 由于ssh只能在交互模式中输入服务器密码进行登录登操作,不便于进行大批量服务器进行巡检或日志采集。sshpass恰好又解决了这个问题,使用 ssh -p passwd 可以实现命令行输入密码操作,便于进行规模巡检 首先需要在脚本执行机器

    2024年02月08日
    浏览(35)
  • MacOS初识SIP——解决快捷指令sh脚本报错Operation not permitted

    因为一些原因,设计了一套快捷指令,中间涉及到一个sh脚本的运行,通过快捷指令运行时就会报错: operation not permitted 奇怪的是在快捷指令窗口下运行一切正常,但是从其他地方直接调用,例如通过Command+Space 打开 Spotlight Search 下执行就换出现报错。 以测试用快捷指令”

    2024年04月10日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包