手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表查看gouki的文章

expect: spawn id exp3 not open

在尝试使用 envoy  尝试自动部署的时候,遇到了问题,即:如果我要自己创建一个新的域名,那只能上线去执行 lnmp vhost add 的命令。

为什么要使用 lnmp 呢?其实他对我的作用只有一个,多版本的 PHP。因为现在在线上,各种不同版本的 PHP 都在跑,有 PHP5.6 / PHP7.1 / PHP8.1估计后面还会有更多的版本。
 
于是,我就想着用 expect 来处理

sudo /usr/bin/expect<<EOF
spawn lnmp vhost add
expect {
    "Please enter domain" {send "{{$host}}\n";exp_continue}
    "Enter more domain name"  {send "\n";exp_continue}
    "Please enter the directory" {send "\n";exp_continue}
    "Allow Rewrite rule" {send "y\n";exp_continue}
    "Default rewrite" {send "laravel\n";exp_continue}
    "Enable PHP Pathinfo" {send "\n";exp_continue}
    "Allow access log" {send "\n";exp_continue}
    "Enable IPv6" {send "\n";exp_continue}
    "Enter your choice " {send "\n";exp_continue}
    "Add SSL Certificate" {send "\n";exp_continue}
    "Press any key to start" {send "\r"; exp_continue}
}
expect eof
EOF
但执行后一直报错:
[mpass]: expect: spawn id exp3 not open
[mpass]: while executing
[mpass]: "expect eof"
 
仔细查了半天,原来最后一句还用了 exp_continue。。expect 认为还没有执行完。所以。就行报错了。
将最后一个 exp_contiue 删除。再次执行,就正常了
XML/HTML代码
  1. @task('lnmp' ,['on'=>'dev'])  
  2.   
  3. @if($force)  
  4.     sudo rm -rf /usr/local/nginx/conf/vhost/{{$host}}.conf  
  5.     sudo rm -rf /home/wwwroot/{{$host}}  
  6. @endif  
  7. sudo /usr/bin/expect<<EOF  
  8. spawn lnmp vhost add  
  9. expect {  
  10.     "Please enter domain" {send "{{$host}}\n";exp_continue}  
  11.     "Enter more domain name"  {send "\n";exp_continue}  
  12.     "Please enter the directory" {send "\n";exp_continue}  
  13.     "Allow Rewrite rule" {send "y\n";exp_continue}  
  14.     "Default rewrite" {send "laravel\n";exp_continue}  
  15.     "Enable PHP Pathinfo" {send "\n";exp_continue}  
  16.     "Allow access log" {send "\n";exp_continue}  
  17.     "Enable IPv6" {send "\n";exp_continue}  
  18.     "Enter your choice " {send "\n";exp_continue}  
  19.     "Add SSL Certificate" {send "\n";exp_continue}  
  20.     "Press any key to start" {send "\r";}  
  21. }  
  22. expect eof  
  23. EOF  
  24. ls -lah /home/wwwroot/  
  25. @endtask  
这样就 OK 了

Tags: envoy, expect

10月回顾一下

之前本来有准备写内容,但不知道 怎么回事编辑器加载不出来直接报错,于是就放弃了。

10月没做什么事情,但大致流水账可以记一下:
1、Flutter 又重捡起来了,后面重心可能会在这一块 (安装个开发工具折腾了1天,主要是SDK更新,一更就死)
2、小程序 还在写,但下一波估计不用 UniAPP,可能会考虑Taro。
3、升级了操作系统到最新的,目前 没问题
4、又买了两台无忧。好象Zerotier会影响网速?准备重建一下planet。估计又要大折腾
 
新项目还是要上,老本没地儿吃了
 

phpstorm/webstorm中如何识别 vite 项目的@

在使用 phpstorm/webstorm 进行前端开发的时候,一般会设置 alias,比如@,但在 IDEA 中,如果项目是 vite/vuejs 的时候 ,无法识别路径。

网上教程很多,什么设置.eslintrc.js / jsconfig.json / tsconfig.json 之类的,但其实重启 IDE 后仍然无法识别。
 
查了一下资料,原来目前 phpstorm 对@的 alias,只支持 webpack,也就是说,如果你的前端项目是 webpack 的,其实是能够识别的。因此,只要在项目根目录下,随便建一个文件,尽量不要叫 webpack.config.js,以防被项目自动识别。你可以建一个 alias.config.js,内容如下:
JavaScript代码
  1. const path = require("path");  
  2. module.exports = {  
  3.   resolve: {  
  4.     alias: {  
  5.       '@': path.resolve(__dirname, 'resources/js'),  
  6.       '~': path.resolve(__dirname, 'resources')  
  7.     }  
  8.   }  
  9. }  
看到这个 resource/js 就知道当前是在 laravel 项目下面了。
在 Ide 的 setting中 :
Languaes & Frameworks > Javascript > Webpack ,选择手动,指定 alias.config.js ,确定后,再打开 *.vue 文件,会发现原来的 import 文件都能够自动识别了。
 

Tags: vite, laravel, webpack, phpstorm, webstorm

tailwindCss与 elementUI 的冲突解决

 解决 tailwindCss 与 elementUI 最简单办法就是

1、在 app.js(或main.js)中,先加载 tailwindCss 再加载 elementUI 和相关 css
2、在 tailwind.config.js 中,plugins节点下,增加:
JavaScript代码
  1. plugin(function ({addBase}) {  
  2.   addBase({  
  3.     ".el-button": {  
  4.       "background-color""var(--el-button-bg-color,val(--el-color-white))"  
  5.     }  
  6.   })  
  7. }),  
 
说白了,就是继续针对 el-button 重新赋值。
再打开页面就完全正常了。
 

取消[连供墨盒]的文章置顶

疫情过去了,娃的学校也不需 天天打印了。因此打印机也已经吃灰了。所以也就不需要记这些事情

原标题是:canon连供吸墨相关问题 
也就再也不置顶了。
Records:303612345678910»