Home avatar

这是我的个人网站

Golang 中的数组字符串和切片

var a[3] int
var b = [...]int{1, 2, 3}

var c = [...]int{2:3, 1:2}  // 长度为3  {0,2,3}

// 混合以上方式
var d = [...]int{1,2,4:5,6} // {1, 2, 0, 0, 5, 6}

Go 语言中数组是值语义。一个数组变量即表示整个数组,它并不是隐式的指向第一个元素的指针(比如 C 语言的数组),而是一个完整的值。当一个数组变量被赋值或者被传递的时候,实际上会复制整个数组。如果数组较大的话,数组的赋值也会有较大的开销。为了避免复制数组带来的开销,可以传递一个指向数组的指针,但是数组指针并不是数组。

好奇心是什么

好奇心是 【我不知道】:我不知道接下来会经历什么,但我愿意尝试。

好奇心是【我允许】:尝试的过程中,一些意外状况是正常现象,我允许自己做不好。

好奇心是【我不着急】:我不着急立刻得出结论,而是多观察一阵子再说。

expect-自动交互脚本

#!/usr/bin/expect

set filename [lindex $argv 0]
set dir_path [lindex $argv 1]

set IP_NOS_1 "192.168.122.11"
set IP_NOS_2 "192.168.122.12"
set IP_NOS_3 "192.168.122.13"
set IP_NOS_4 "192.168.122.14"
set IP_NOS_5 "192.168.122.15"

set username "root"
set passwd "root"
set timeout 200

if { $argc!=2 } {
        puts "WARNING ! srcipt needs two parameter !"
        puts "          Usage: (parameter 1: filename) filename you want to transfer"
        puts "          Usage: (parameter 2: path)     path you want to save to where."
        puts "this scripts will cp file into 5 kvm!"
        exit 0
}



for {set i 1} {$i < 6} {incr i} {
        switch $i {
        1 {set ip $IP_NOS_1}
        3 {set ip $IP_NOS_3}
        4 {set ip $IP_NOS_4}
        5 {set ip $IP_NOS_5}
        }
        puts "#---------------------copy file to kvm$i------------------#"
        spawn scp ./$filename $username@$ip:$dir_path
        expect {
              "(yes/no)?" { send "yes"; exp_continue }
              "assword:" { send "$passwd\r" }
                }
        expect "100%"
        sleep 1
}

expect范例

进程和作业控制

Unix中,每个对象或者由文件表示,或者由进程表示。简单来讲,文件就是一个输出源或者输出目标。进程是一个正在运行的程序。文件提供对数据的访问,而进程使事件发生。

Unix文件,别名等相关

unix 的默认排序方式取决于你使用的区域设置,如:现在有A、a、B、b、C、c 几个文件,执行 ls 列举文件:

如果使用 C 区域设置,你会得到:A B C a b c (基于 ASCII 码);

Tiger Got to Hunt

Tiger got to hunt, bird got to fly;

Man got to sit and wonder ‘why, why, why?’

Tiger got to sleep, bird got to land;

Man got to tell himself he understand.

— Kurt Vonnegut

翻译:

虎猎鸟飞人疑惑:为啥为啥为啥捏?

虎息鸟憩人自语:好呗算我懂了呗。

Wsl设置代理

wsl 可以使用 win10 的代理。

win10 + 小飞机 + wsl2

  1. WSL 中获取宿主机 IP

WSL 每次启动的时候都会有不同的 IP 地址,所以并不能直接用静态的方式来设置代理。WSL2 会把 IP 写在 /etc/resolv.conf 中,因此可以用 cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }' 这条指令获得宿主机 IP 。

人生3大行为模式

  1. 多巴胺模式: 吃、逛、买、看

  2. 恐惧驱动模式: 没有办法放手做事,瞻前顾后。

  3. 创造力模式: 关注点不在内在的状态,也不是去寻找快乐,而是想到要做成某事,关注点集中于当下正在做的事情。透过做一件事,将自己的注意力,从内心的小毛病小纠结转移到事情本身。