|      1ys0290      2020-08-11 08:40:49 +08:00 via iPhone  1 虽然说后缀不影响使用,但这 help.sh 名字也真是怪。别人为什么会出错?是一点 linux 基础都没有的那种吗? | 
|  |      2nosay      2020-08-11 08:52:51 +08:00 | 
|      3soy      2020-08-11 08:53:56 +08:00 直接 Bazel 打包成一个.sar 可执行文件 用户也不用管解压啥的 直接运行 https://docs.bazel.build/versions/3.4.0/be/shell.html#sh_binary | 
|      4Death      2020-08-11 09:17:49 +08:00  3 Self-extracting Shell Script https://sysplay.in/blog/linux/2019/12/self-extracting-shell-script/ | 
|  |      5xuanbg      2020-08-11 11:14:30 +08:00 不明白脚本为啥要压缩?很大吗? | 
|      6aloxaf      2020-08-11 11:38:00 +08:00 直接把指定行后的内容喂给 gzip 就行了 | 
|      7snowydec      2020-08-11 11:39:04 +08:00 进来解压的,告辞 | 
|  |      8danyue9528      2020-08-11 11:47:02 +08:00 还以为能解压呢,进来发现是真解压。。。 告辞 | 
|  |      9kiwi95      2020-08-11 11:56:47 +08:00 via iPhone 二进制直接打到 shell 里面,有的安装包就是这样做的 | 
|  |      10msg7086      2020-08-11 13:05:48 +08:00 你把解压缩代码写在 sh 里啊,然后从脚本尾部把压缩包提取出来解压不就好了。 | 
|      11redstar78kg OP 多谢各位指点。 我原来写 tar zxvf xxx.tgz 发现用户那边容易搞错。 你很难想象,对方会大小写不分,随意加空格或者不打空格。 所以,寻求更为简单的策略。 尽量让对方,bash 一下就搞定了。 再次感谢诸位指点。 | 
|      12redstar78kg OP @Death 多谢。 | 
|      13dorothyREN      2020-08-11 18:26:39 +08:00 一个脚本一个 function 不就行了吗 | 
|      14ivan_wl      2020-08-11 21:24:38 +08:00 | 
|  |      15xuboying      2020-08-11 21:30:12 +08:00 文档这么写: tar 空格 zxvfk 空格 xxx.tgz 请注意英文字母为全小写,不要开启中文输入法! 对方是真心不会还是故意刁难你啊 | 
|  |      1635aZ4P8mT576683q      2020-08-11 23:24:32 +08:00 via Android 二进制是 executable 吗,如果是,直接在生成这个 executable 的时候包含文本信息,stop, run, clean 就可以以参数的形式来执行。比如 nginx 就是启动 nginx, nginx -s stop 就是停止 nginx | 
|  |      1735aZ4P8mT576683q      2020-08-11 23:30:14 +08:00 via Android 更直接的方式是直接让用户选,假设 executable 叫 dosth, 用户直接输入 dosth, 然后提示 "您想干嘛呢"  1. 运行 dosth 2. 终止运行 dosth 3. Clean 当然如果 dosth 已经在运行要提示用户,而且不提供 1 选项; 没有运行不提供 2 选项 | 
|  |      18MartinWu      2020-08-12 00:23:22 +08:00 | 
|      19abbottcn      2020-08-12 16:30:59 +08:00 我曾经写了一个 CentOS 的配置脚本,最后一部分是: ### disable GUI echo -e "Enable GUI or no GUI? y/n" echo -e "Please input y or n" read check if [ ${check} = n ] then echo "Disable GUI" systemctl set-default multi-user.target elif [ ${check} = y ] then echo "enable GUI" systemctl set-default graphical.target fi 用户看到的信息是: Enable GUI or no GUI? y/n Please input y or n 然后,对方拍屏幕照片给我,大哥,下一步怎么弄? 你让我怎么回复? | 
|      20abbottcn      2020-08-12 16:35:09 +08:00 补充一下: 我碰到的情形是, 对方基本上使用 Linux 服务器做计算模拟,基本是英文 4 级、6 级分数还不错的在读硕士、博士研究生。 需要我协助他们部署好 Linux 系统平台和专业软件。 他们只负责用专业软件做专业事情,并不晓得什么 Linux 基础之类的事情。 | 
|  |      21byzf      2020-08-12 19:04:19 +08:00 | 
|  |      22shequ2046      2020-09-10 00:02:28 +08:00 。。。直接把 binary file 存在 sh 里就是业内最标准的做法了。。 |