V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  james122333  ›  全部回复第 15 页 / 共 44 页
回复总数  879
1 ... 11  12  13  14  15  16  17  18  19  20 ... 44  
308 天前
回复了 Cloudpods 创建的主题 推广 记一次符合 Google Coding Style 的 Bash 脚本重构
bash 还有数值进制转换和位元运算 bitwise
只差没有浮点数
308 天前
回复了 Cloudpods 创建的主题 推广 记一次符合 Google Coding Style 的 Bash 脚本重构
@nuk

compile 测试是可一定得要的 但没有这阶段还是慢
就是很多 很多套件 configure 都很久
bash 有减单数值计算和 left shift right shift
perl 本来就是另外的大怪物 以前觉得不错 但现在不觉得 大部分用 oneliner 的不会正确用这些指令
oneliner 不适合写脚本 只适合临时操作
308 天前
回复了 Cloudpods 创建的主题 推广 记一次符合 Google Coding Style 的 Bash 脚本重构
@mohumohu
整个工具很小的 再嫌大拿直接二近制单档放入
sh 与 bash 都是几百 k 你不能跑的理由不是真的不能跑
308 天前
回复了 Cloudpods 创建的主题 推广 记一次符合 Google Coding Style 的 Bash 脚本重构
@mohumohu

能运行不就是兼容 有哪个专属硬件不能跑?
docker init 用 shell 写的 然后呢? 大部分都有 bash 可用
apline 类的装一下也不花多少时间
308 天前
回复了 Cloudpods 创建的主题 推广 记一次符合 Google Coding Style 的 Bash 脚本重构
@nuk

bash 有关联数组 其实还好 也有正则 但其实不怎么用正则 通常有更好实现 我都是自己研究自己搞 没看过别人用 cgi
注入漏洞我这写好的函数没有 当然我自己用
308 天前
回复了 Cloudpods 创建的主题 推广 记一次符合 Google Coding Style 的 Bash 脚本重构
@mohumohu

因为这些发行版以最简化为准则 跑的也是其它语言写的大型程序 当然 shell 什么的不重要 但其实这些东西很强大的
308 天前
回复了 Cloudpods 创建的主题 推广 记一次符合 Google Coding Style 的 Bash 脚本重构
@mohumohu

即便你嵌入式 bash 还是比 python 小 至于 bash 与 posix sh 当然有效能差异 例如你说的 local 没有不是得多加判别不然就是写的很小心 还有简单数值计算 你用 expr 每次都得启动程序一次怎么无关效能 读档案每次调用 cat? 当然有差 grep sed 命令堆叠是最伤效能的 configure 就是一例 没有这些 啪 一下就出来的 这些命令一次处理大量内容才会有效能优势
308 天前
回复了 Cloudpods 创建的主题 推广 记一次符合 Google Coding Style 的 Bash 脚本重构
差点忘了 csh 也是效能最差的 语法最神奇的 会出神秘现象
308 天前
回复了 Cloudpods 创建的主题 推广 记一次符合 Google Coding Style 的 Bash 脚本重构
@mohumohu

现在哪个发行版还在 posix sh 所以兼容没问题
python 太臃肿 shell 单执行档就好了 光论效能 shell 是垫底的 但 posix sh 是最底的 但很多任务效能需求不高 用 shell 写可以 但 posix sh 就会明显卡顿 技术原理问题
308 天前
回复了 Cloudpods 创建的主题 推广 记一次符合 Google Coding Style 的 Bash 脚本重构
一堆项目内的 configure 脚本很烂就是这样
autotools 完全是悲剧
308 天前
回复了 Cloudpods 创建的主题 推广 记一次符合 Google Coding Style 的 Bash 脚本重构
@mohumohu

然而如果你只用 posix sh 会很难维护大型 shell 专案
效能也差
308 天前
回复了 Cloudpods 创建的主题 推广 记一次符合 Google Coding Style 的 Bash 脚本重构
为何 fn 不用 block({})呢

因为可以
if [ ${abc} -eq 1 ] ; then
fn abc a=1
else
fn abc b=1
fi
bgn
....
end

猫熊万岁 XD
308 天前
回复了 Cloudpods 创建的主题 推广 记一次符合 Google Coding Style 的 Bash 脚本重构
这东西可以 但功效比 hack 语法更小 纯用 bash hack

我已经这样写

#!/bin/bash

source init_file module_path

ns test #namespace

import {
core/str #default namespace in file
rand2 core/rand #namespace rand2
}

import core/ini
import num2 core/num

fn run a b=1 @c @d=^Rabc @e:key::node f...
bgn
err $0: error
echo ok
end

rec abc a
bgn
return a=1 b=2 c=3
end

const {
var1=a
var2=b
}

const var3=c

a 没指定 b 如果带入为空则为 1 c 为 pass by reference 的参数 d 同 c 但有预设值 e 为一结构体结构类型为 key f 剩余参数
函数内 err 后 返回错误 echo ok 不执行
rec 是定义结构 回传阵列 参数方法与 fn 同
const 指定常数

当然不开源 XD
310 天前
回复了 aqiu111 创建的主题 程序员 Java 开发有必要使用 Linux 系统吗
花了九牛二虎之力解决几个简单问题根本优雅不起来
简单好用更优雅
310 天前
回复了 aqiu111 创建的主题 程序员 Java 开发有必要使用 Linux 系统吗
依照你的想法来就好 个人会继续
因为思想沖击后可以写很不一样的东西
不是整天 api 数据库 然后乱七八糟的 log 系统和 spring 一把梭
如果你跟我一样不太喜欢使用那一堆写的乱七八糟的东西然后解决的问题很花时间且就那样 推荐折腾
听说 spring 以前都很轻量的 不过应该都是次轻量
又是 api 又是数据库又是 spring 老把戏了
会使用就完全不想找新工具 用起来十分玄妙
vim 的宏录製其实本质上就是第四项
vi/vim 有四种重要的功能
1. 可将命令结果输出到文档内或从另外文件读取内容到文档
2. 可将内容输出至命令处理并回传修改内容
3. 可将内容输出至命令不修改内容
4. 可将内容作为 vi/vim 内置命令执行

以上搭配有无限可能
例如外连文件就可以直接写一行或行内
e 文档位置
用第 4 项功能执行就外连了
这本是纯文本 vs 富文本之争
讲原因就是富文本十分依赖编辑平台
并且难以编程化使用
虽然没用 markdown 但都是爱纯文本
markdown 红的也莫名奇妙
直接纯文本 vi/vim 返璞归真 不用再找了 连结其他文档 调用外部命令如浏览器都可以
1 ... 11  12  13  14  15  16  17  18  19  20 ... 44  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4499 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 05:34 · PVG 13:34 · LAX 22:34 · JFK 01:34
Developed with CodeLauncher
♥ Do have faith in what you're doing.