<转> 如何在安卓设备上跑shell脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了<转> 如何在安卓设备上跑shell脚本相关的知识,希望对你有一定的参考价值。

参考技术A

原文:
http://www.pctips4u.com/2016/03/writing-shell-scripts-in-android.html

Have you ever wanted to be free from performing tedious tasks in Android? Have you ever wanted to write android shell scripts? Well you are not the only one. This article shows you how to write android shell scripts, which helps you in easing your jobs.

Busy Box & Terminal Emulator for Android Shell Scripting

In your rooted android device, install an app called BusyBox. It provides most of the *nix utilities such as awk, sed, find, sort, head, etc., which will be useful when you try to write a shell script to run on Android. Then install Terminal Emulator (You can also use other similar tools, but I use Terminal Emulator).
BUSYBOX ON GOOGLE PLAY

TERMINAL EMULATOR ON GOOGLE PLAY

Simple Shell Scripting in Android
This method does not require to root your android device. Just the Terminal Emulator is required to run the shell scripts you created. Refer the link above for getting Terminal Emulator.Writing Shell Scripts in Android
You can write Shell Scripts in your PC and transfer it to your Android device, or else, write them directly on your Android device. Start writing your android shell script by using the following as the first line (Also known as Shebang)

Running Shell Scripts in Android
Then save your entire script and open Terminal Emulator. Now run the script using sh command.

Here is the script that I created:

And here is what I get in the terminal emulator:

Shell Script in Android

Only for rooted devices: If you want the script to be run directly as a command, place the script in /system/bin (or) /system/xbin . Then make the file executable by running the following command:

For example I have copied the script "testmsg.sh" to /system/bin , renamed it to "testmsg" using the following commands:

Now in the Terminal Emulator, just enter the name of the file and the script will execute.

Shell Script as a command in Android

I hope that wasn\'t a long winded approach for writing the shell scripts in Android. If you\'ve got other ways for attaining the same result, kindly share them in the comments.

如何在实验室服务器上跑代码

1.工具准备

可以下载一个xshell或secureCRT或者其他shell工具,通过ssh方式连接服务器,然后通过本地电脑终端控制服务器。连接方式输入主机(Host),和端口号(一般是22)就行了。如下图

连接成功后就可以在本地通过shell工具控制服务器了。如下图

再准备一个工具filezilla将本地计算机里面的代码传输到服务器上去。整个流程也很简单,先连接服务器,然后上传指定文件,都是图形化界面操作,这里就不细说。

2.连接服务器后先安装运行代码需要的依赖包,一般深度学习代码可以直接安装一个anaconda。

2.1安装anacondacn

参考这篇博文:安装anaconda

2.2 安装后可能出现conda找不到问题

参考这篇博文:配置环境变量即可未找到conda配置环境变量
成功后输入下面命令即可成功查看conda版本:

conda --version

3 运行代码

3.1 建议建立一个虚拟环境,在虚拟环境中跑代码,不同代码不同的虚拟环境,能避免包冲突。

创建虚拟环境(conda_name为自起虚拟环境名,x.x 为创建的python版本号)

conda create -n codea_name python=x.x

激活环境(也就是进入你建立的的虚拟环境中,之后跑代码将在虚拟环境中进行)

conda activate conda_name
//conda_name为自定义的名字

安装包:进入到你需要运行的代码中,cd进入到requirements.txt文件中,批量安装requirements.txt中的依赖包

pip install -r requirements.txt

运行代码

python train.py

可能出现Module Not Found的情况
如果运行的py文件中需要引用同级目录下其他py文件中的类或函数,需要改变py文件中的系统路径(该路径报错的包上一级文件夹,需要绝对路径通过pwd命令可以查看,如/home/lh/FederatedLearning/pFedHN-main)。不然会报Module NOT Found。在文件首添加下面两句代码:

import sys
sys.path.append('/home/lh/FederatedLearning/pFedHN-main')

参考:Conda 创建虚拟环境并安装依赖包集合 requirements.txt

3.2 使用screen命令退出服务器连接后保持代码一直运行

创建screen窗口 screen_name为自定义的窗口名字

screen -S screen_name

查看screen窗口

screen -ls

进入screen窗口

screen -r screen_name

退出screen窗口(后台依然在运行)

快捷键 CTRL+A+D

结束当前的screen窗口

exit

参考:screen命令

4 Google免费Colab服务器云资源

如果没有服务器资源,可以使用Google提供的免费Colab服务器资源,运行方式和jupyternotebook很相似。
介绍几种常用命令
查看服务器资源

!nvidia-smi

挂载云盘

# 挂载Google云盘
from google.colab import drive
drive.mount('/content/drive')

切换到项目目录下

# 切换到要运行的项目目录下
import os
os.chdir("/content/drive/MyDrive/lab/pFedHN-main")

显示当前目录文件

# 显示当前目录文件
!ls

运行代码

!python ./experiments/pfedhn/trainer.py

具体使用colab请看下面链接:
使用GOOGLE COLAB运行深度学习项目

5 致谢

浩瀚的知识中相遇是缘分,感谢阅读,希望能对你有所启发,谢谢!

以上是关于<转> 如何在安卓设备上跑shell脚本的主要内容,如果未能解决你的问题,请参考以下文章

使用 Bootstrap 4 在小型设备上的页脚布局、响应和隐藏

如何在 Genymotion 中重启安卓设备模拟器

[转] 在安卓设备上使用 Chrome 远程调试功能

XCODE中怎么使用IOS 5.0的模拟器?

如何在实验室服务器上跑代码

如何在实验室服务器上跑代码