https://www.cnblogs.com/liqiuhao/p/7058254.html
关于pts tty的历史
DevOps
https://www.cnblogs.com/liqiuhao/p/7058254.html
关于pts tty的历史
通过bash解析db2look 导出的sql文件中的create table语句,并写入对应的独立的文件。
脚本如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#!/bin/bash target_dir=$1 while read line; do [[ "$line" == "" ]] && continue [[ $line == CREATE\ TABLE\ * ]] && { read schema table < <(awk -F'"' '{print $2 " " $4}' <<<"$line") #echo $schema $table dir="$target_dir/$schema" [ -d $dir ] || mkdir -p $dir file=$dir/${table}.sql echo "$line" >$file while read line; do [[ "$line" == IN\ * ]] && [[ "$line" != *\; ]] && continue # infact IN clause always not end with ; echo " $line" >>$file # Space indentation looks better [[ $line == *\; ]] && break done } done |
其实,grep也能提取,只是不方便分文件写入,而且,不方便去掉不想要的IN子句,grep的写法:
1 |
cat ifm30.sql |grep --binary-files=text -Pzo "^CREATE TABLE .+[^;]+;" |
一般来讲,这个事儿是sed该干的,但是,sed做起来也不那么简单,可能每次写都需要问百度。
bash如何实现呢?
这里涉及了三种情况:
写起来是不是比较麻烦?
脚本:
1 2 3 |
while read line; do [[ "$line" == "" ]] || echo "$line" done |
简直不敢相信,远比sed要简单的多吧。
因为read自然帮我们去的掉了行首行尾的空白了。
不过需要注意的是:
关于echo “$line” 中双引号的作用:
假如 line=”1 2 3″
echo $line 等效于 echo 1 2 3 ;根据我们基本的认知,2和3中间有多少个空格都等于1个空格,对于echo来讲都是3个参数
echo “$line” 等效于 echo “1 2 3” ; 这里的echo接收到的是1个参数,自然不能随意丢掉其中的空格
db2 中没有类似mysql中的show create table 的命令,只是db2look 可以导出表结构,如果要查看建表语句也不太方便,尤其想把每个表的建表语句都放在单独的文件,下面的命令可以从db2look到处的sql文件中提取表结构:
1 2 3 |
while read tb; do grep --binary-files=text -Pzo "^CREATE TABLE \"$schema\".\"$tb\"[^;]+;" db.sql >./tables/$tb done <<<"tb1 tb2 tb3" |
不过这样的话,也是先db2look得到文件后,先将表名提取出来,再提取表结构,步骤稍许麻烦。
db2look 用法:
1 |
db2look -d hxpuat -a -e -o hxpuat.sql |
周一
周二
周三
周四
周五
参考:
https://superuser.com/questions/446362/why-cant-i-create-soft-link-on-vboxsf-file-system
处于安全考虑,virtualbox 4.1.8之后, 不允许在共享目录中创建软连接,尽管不是只读挂载,创建软连接也会提示readonly;
原本的符号链接会访问错误的,如: Protocol error
快捷的做法是:我们可以直接copy原始文件,而不是使用软连接
但是可以通过如下命令修改:
1 |
VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1 |
实测:
VBoxManage setextradata docker VBoxInternal2/SharedFoldersEnableSymlinksCreate/workspace 1
还有一个问题: vboxsf挂载的文件系统的mode是固定的,通过chmod修改不了,如果有些文件就是期望某种mode的话,就是不好搞的,所以这个文件系统时不时会给我们带来麻烦
这里会卡上很长时间
一次保存文章时,不小心删除了很多内容,几小时后才发现,有点抓狂;
抓狂是没有用的,突然想起很多wiki都是有历史版本的功能的,如果wordpress也有该都好,其实是有的,就在眼皮底下,只是从来没用过而已;
第一次保存时看不到的:
更新后就能看到的:
找到历史版本,回退到指定的历史版本就可以了\(^o^)/
通过msproject的打印功能:
勾选“ 只打印左列” , 然后尝试着把要打印的内容都调整到左边就行了;
小提示: 每一列都是可以隐藏的,而且可以添加主机感兴趣的列,也能通过这种方式调整列的顺序
@verbatim
如果输出中要包含 {{ … }}; (通常为由js解析的模板,如vue),则可以使用@前缀避免php进行翻译,如:
@{{name}}
最终输出为
{{name}}
正好可以被js当做模板使用;
但是,如果一大段都是js的模板(没有一点点需要php替换的变量)呢?每个都前面添加 @ 有些啰嗦,于是可以使用
@verbatim
相当于给这个部分统一添加了@前缀
关于:
1 |
<span class="token punctuation">{</span><span class="token operator">!</span><span class="token operator">!</span> <span class="token variable">$name</span> <span class="token operator">!</span><span class="token operator">!</span><span class="token punctuation">}</span> |
默认情况下: {{$name}}中的$name 是被htmlspecialchars 处理的,如果不想被处理,可以使用 {!! $name !!} 标记
可以在AppServiceProvider.php 中指定组件的别名,方便使用组件:
1 2 3 |
use Illuminate\Support\Facades\Blade; Blade::component('components.alert', 'alert'); |
则,就可以在模板中使用:
1 2 3 |
@alert ... @endalert |
来替代
1 2 3 |
@component('alert') ... @endcomponent |
1 |
<example-component :some-prop='@json($array)'></example-component> |
不过这里一定要使用单引号
还可以指定要检查的guard,如: @auth(“admin”)
@php
通过@php直接嵌入一块儿PHP代码
关于组件和子视图的比较
自定义指令
自定义if语句