FurN1
V2EX  ›  iOS

iSH Shell 入门指南

  •  2
     
  •   FurN1 · Oct 26, 2020 · 13950 views
    This topic created in 2051 days ago, the information mentioned may be changed or developed.

    iSH Shell最近上架 App Store 。上架版本由于限制,和 TestFlight 版本有些不同。我总结了一下要点:

    下载须知

    在国区 App Store 需要搜索“iSH Shell”,外区搜索"iSH"即可。

    获取 apk

    App Store 版本默认未装 apk 。安装过程参见这个官方 wiki 页面,步骤如下:

    1. 运行cd /
    2. 运行wget -qO- http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86/apk-tools-static-2.10.5-r1.apk | tar -xz sbin/apk.static && ./sbin/apk.static add apk-tools && rm sbin/apk.static

    变更默认 shell

    iSH Shell 的默认 shell

    • iSH Shell 使用 Alpine Linux,它的默认 shell 是 busybox ash 。
    • ash 不会 source.bashrc,而是会 source.profile
    • 一般的 bash 脚本无法在这里运行,需要使用/bin/sh来运行经典 shell 脚本。这当然很不方便,我们喜欢用 bash 或者 zsh 。
    • 以 bash 为例,运行apk add bash安装 bash,然后在 iSH terminal 输入bash使用 bash 。

    使用 bash 作为默认 shell

    参见这个官方 issue,有两种改变默认 shell 的方式:

    1. 编辑/etc/passwd。iSH Shell 的用户是 root,所以编辑第一行,把/bin/ash改为/bin/bash
    2. 安装 shadow:apk add shadow,然后使用其中的 chsh 命令修改默认 shell:chsh -s bash 我个人觉得前者更加方便。把默认 shell 改成 bash 之后,再次进入 iSH Shell 就会默认 source.bashrc,方便 git pull 使用自己的 dotfiles 。

    杂项

    • App 图标可以设置
    • 大部分用法能在官方 wiki里面找到,比如如何使用sshvncpythonrubyphp或者r,以及目前的局限是什么。
    38 replies    2023-05-17 21:57:44 +08:00
    FurN1
        1
    FurN1  
    OP
       Oct 26, 2020
    所有设置在重装 app 之后都会被清空,所以最好有自己的 dotfiles bootstraper
    NoGolang
        2
    NoGolang  
       Oct 26, 2020 via iPhone
    @IgniteWhite 使用这个东西,是不是 zerotier 的自建 moon 节点 就可以通过这个 放进去了,iOS 就可以使用 moon 节点了
    FurN1
        3
    FurN1  
    OP
       Oct 26, 2020 via iPhone
    @NoGolang 这个我也不懂,不过说是 ifconfig 和 ip 这两个命令不能用,不知道能不能说明一些问题
    rateltalk
        4
    rateltalk  
       Oct 26, 2020
    这个是不是得翻墙才能用、、wget 没反应
    msn1983aa
        5
    msn1983aa  
       Oct 26, 2020
    wget 粘贴进去之后点 return 怎么没反应?
    msn1983aa
        6
    msn1983aa  
       Oct 26, 2020
    @s609926202 #4 你猜对了,得扶墙
    msn1983aa
        7
    msn1983aa  
       Oct 26, 2020
    login: can't execute '/bin/bash': No such file or directory

    重装 ing
    FrailLove
        8
    FrailLove  
       Oct 26, 2020
    问个 不太聪明的问题 vi 编辑后怎么 esc wq
    yanlx
        9
    yanlx  
       Oct 26, 2020 via iPhone
    @s609926202 wget 不到就改换国内源下载呗

    sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories

    wget -qO- http://mirrors.tuna.tsinghua.edu.cn/alpine/v3.12/main/x86/apk-tools-static-2.10.5-r1.apk | tar -xz sbin/apk.static && ./sbin/apk.static add apk-tools && rm sbin/apk.static
    FrailLove
        10
    FrailLove  
       Oct 26, 2020
    @FrailLove 已解决
    yuuko
        11
    yuuko  
       Oct 26, 2020 via Android
    ish 你们都用来干什么?感觉性能不太行
    GuryYu
        12
    GuryYu  
       Oct 26, 2020
    @FrailLove #8 虚拟键盘顶部第三个按钮就是 esc,然后正常:wq 即可
    shadownet
        13
    shadownet  
       Oct 26, 2020
    我 out 了,在里面 vi 之后,键盘上没 esc, 没法用,哈哈,我也是服了
    shadownet
        14
    shadownet  
       Oct 26, 2020
    不得已,装了 nano, 完成了一个简单的改文件操作
    czjackjin
        15
    czjackjin  
       Oct 26, 2020
    这个可以安装 numpy 么?
    fihserman123
        16
    fihserman123  
       Oct 26, 2020
    编辑后如何保存退出?
    shadownet
        17
    shadownet  
       Oct 26, 2020
    @fihserman123 换 nano 吧, vi 在 ios 上简直是灾难. apk add nano 就能安装了
    internelp
        18
    internelp  
       Oct 26, 2020
    不错不错,好工具,可以方便的 ping 。不知道能不能安装 curl
    shadownet
        19
    shadownet  
       Oct 26, 2020
    @internelp 亲测可以
    Themyth
        20
    Themyth  
       Oct 26, 2020
    @czjackjin scipy numpy 都不行
    Thresh
        21
    Thresh  
       Oct 26, 2020
    学习了..
    szdosar
        22
    szdosar  
       Oct 26, 2020
    改废了 iSH 的有没有,要重装 iSH 。
    littlewing
        23
    littlewing  
       Oct 26, 2020
    不介意的话,改成国内阿里云源比较快:sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk update && apk upgrade

    安装 c/c++环境:apk add build-case
    安装 pyhton: apk add python3 py3-pip
    littlewing
        24
    littlewing  
       Oct 26, 2020
    @littlewing apk add build-base 手抖了
    Cuo
        25
    Cuo  
       Oct 26, 2020 via iPhone
    用 pyenv 编译 python 3.8.6 耗时三十多分钟。
    感觉性能还是差了一点
    Bijiabo
        26
    Bijiabo  
       Oct 26, 2020
    我特别好奇大家怎么使用 iSH,想看到使用范例。感觉手上有一个利器,但是不知道有什么场景用的到 T_T
    shadownet
        27
    shadownet  
       Oct 26, 2020
    @Bijiabo 对我来说就是
    1. 多了一个 terminal,
    2. 可以做一些小测试, 比如 ping, curl

    至于生产力,毕竟是 alpine linux,不是 Ubuntu, 如果能跑虚拟机,那应该会更强大
    czjackjin
        28
    czjackjin  
       Oct 26, 2020
    尝试弄个 numpy,估计不行
    Bijiabo
        29
    Bijiabo  
       Oct 26, 2020
    @shadownet 嗯,感谢。我目前也是这样,可以跑一些简单的 JS 做一些验证使用
    virtualworld
        30
    virtualworld  
       Oct 26, 2020   ❤️ 1
    我用 iSH,用 4G 网络能联网,连路由器就上不去网,找了一大圈办法,什么 ifconifg,ipv6,你猜怎么着?原来是我 iOS 14,它请求“本地网络”权限的时候我给禁了。


    @Bijiabo 目前我用它也就 ssh 一下,或者在手机上开个 sshd,从电脑往它上面传东西。噢,对了,还有就是用 uptime 看手机开机多久了,非常准。
    1if5ty3
        31
    1if5ty3  
       Oct 27, 2020
    @slrey
    兄弟,你这个头像咋一看是黑莓,仔细一看又不是。
    virtualworld
        32
    virtualworld  
       Oct 27, 2020
    @1if5ty3 我也以为我用的是黑莓商标,让你一说仔细一看才发现并不是,😂
    im3x
        33
    im3x  
       Oct 27, 2020
    @shadownet #17
    iSH 虚拟键盘第三个是 esc 功能,vi 模式下点这个按钮,然后输入 :wq 即可保存退出
    shadownet
        34
    shadownet  
       Oct 28, 2020
    @im3x 并不怎么好用,还是 nano 方便
    yxrdydh
        35
    yxrdydh  
       Nov 7, 2020
    你们觉得 a-Shell 怎么样?这个模拟方式更苹果一点。可以本地运行大部分 unix 命令,可以使用 vim,编译 latex,部分 python 包。它的问题是 bug 有点多,每次出了问题会闪退,让我只能删了重装。
    songysh
        36
    songysh  
       May 11, 2023
    有没有办法在 iSH 里,挂载 icloud ?
    songysh
        37
    songysh  
       May 11, 2023
    @songysh 办法很简单,
    mkdir app-dir
    mount -t ios app-dir
    会弹出窗口让你选,太厉害了。
    FurN1
        38
    FurN1  
    OP
       May 17, 2023
    @songysh 哈哈好久没跟进了,原来现在有这个功能了。谢谢分享
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4679 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 118ms · UTC 10:02 · PVG 18:02 · LAX 03:02 · JFK 06:02
    ♥ Do have faith in what you're doing.