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

文章介绍了如何在iOS设备上利用iSH模拟Linux环境,安装Python,创建脚本来执行任务,如获取当前日期。通过配置iSH启动文件运行Python程序,并通过HTTP服务器使快捷指令能获取Python的输出,扩展了快捷指令的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

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 -

快捷指令

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

请添加图片描述

03-16
<think>好的,用户让我介绍iSH。首先我得确认iSH是什么。根据之前的知识,iSH应该是一个在iOS设备上运行的shell环境。可能基于Alpine Linux,用户可以通过它运行命令行工具。 接下来需要检查用户提供的系统级指令。他们要求所有行内数学表达式用$...$,独立公式用$$...$$,并且确保LaTeX语法正确。但这个问题是关于iSH的,可能不太涉及数学公式,不过还是要留意是否有需要的地方。 用户希望回答结构清晰,分步骤说明,并且用中文。需要保持真实可靠,所以得确认信息的准确性。可能需要提到iSH是基于Alpine Linux的,使用APK包管理,允许在iOS上运行Unix工具,使用musl libc等。 还要考虑用户的需求层次。他们可能想知道iSH的功能、用途、安装方法、优缺点。需要涵盖这些方面。例如,iSH如何安装,能做什么,有什么限制,比如性能或兼容性问题。 另外,用户可能是开发者或技术爱好者,想在移动设备上进行编程或系统管理。需要解释iSH的适用场景,比如测试脚本、学习Linux、调试网络等。 可能还需要比较iSH和其他类似工具,比如Termius或Blink,但iSH的不同之处在于它模拟了一个完整的Linux环境,而不仅仅是SSH客户端。 要确保回答组织合理,分点说明,比如概述、功能、安装、使用示例、优缺点。这样结构清晰,用户容易理解。 最后检查有没有需要数学公式的地方,比如提到命令行操作可能涉及路径或变量,但可能不需要用LaTeX。如果有的话,比如路径表达式,可能用行内代码块更合适,而不是数学公式。所以这里可能不需要调整格式,但需遵守用户的其他格式要求,如中文回答和结构清晰。</think>iSH 是一款基于 Alpine Linux 的轻量级 Linux 环境模拟器,专为 iOS 设备设计。它允许用户在 iPhone 或 iPad 上运行命令行工具和脚本,类似于在传统 Linux 系统中操作。以下是关于 iSH 的详细介绍: --- ### 一、核心特点 1. **兼容性** - 基于 **musl libc** 和 **BusyBox**,支持大多数 Linux 命令行工具(如 `grep`、`awk`、`sed`)。 - 可通过 `apk` 包管理器安装额外软件(例如 `python3`、`vim`)。 2. **跨架构模拟** - 通过 **x86 模拟器** 运行 Linux 二进制文件,即使 iOS 设备使用 ARM 架构。 3. **文件系统集成** - 可直接访问 iOS 文件系统,支持与本地文件交互。 --- ### 二、使用场景 1. **移动端开发调试** - 快速测试脚本、调试网络请求(如 `curl`、`ping`)。 - 编辑文件(通过 `vim` 或 `nano`)。 2. **学习 Linux 系统** - 提供实践 Linux 命令行的便携环境。 3. **轻量级服务器管理** - 通过 SSH 连接远程服务器(需安装 `openssh`)。 --- ### 三、安装与配置 1. **安装方式** - 通过 App Store 直接下载 [iSH Shell](https://apps.apple.com/app/ish-shell/id1436902243)。 2. **基础配置示例** ```bash # 更新软件源 apk update # 安装 Python3 apk add python3 # 运行 Python 交互环境 python3 ``` --- ### 四、优缺点分析 | **优点** | **局限性** | |------------------------------|----------------------------| | 免费、无广告 | 性能较低(因模拟器开销) | | 无需越狱即可使用 | 不支持图形界面(纯命令行) | | 社区活跃,持续更新 | 部分 Linux 工具兼容性受限 | --- ### 五、进阶使用示例 1. **编写并运行 Shell 脚本** ```bash # 创建脚本文件 echo 'echo "Hello iSH!"' > hello.sh # 添加执行权限 chmod +x hello.sh # 运行脚本 ./hello.sh ``` 2. **网络工具应用** ```bash # 使用 curl 测试 API curl https://api.example.com/data # 扫描开放端口(需安装 nmap) apk add nmap nmap -p 80 example.com ``` --- ### 六、常见问题 1. **如何持久化数据?** iSH 默认保存 `/root` 目录内容,卸载应用会丢失数据,建议定期备份重要文件。 2. **支持多任务吗?** 可通过 `tmux` 或 `screen` 实现多窗口管理(需手动安装)。 --- iSHiOS 用户提供了独特的命令行体验,适合需要随时随地操作 Linux 工具的场景。尽管存在性能限制,其实用性和便携性使其成为移动端开发者和系统管理员的实用工具。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值