在shell脚本中使用expect

2017-9-28 liyangweb.com 李杨 服务器

expect是一个用来处理交互的命令。借助Expect,我们可以将交互过程写在一个脚本上,使之自动化完成。形象的说,ssh登录,ftp登录等都符合交互的定义。

expect有四个关键命令,作用如下:

  • send:用于向进程发送字符串
  • expect:从进程接收字符串
  • spawn:启动新的进程
  • interact:允许用户交互

关于四个命令的详细用法,这里不做过多介绍,网上资料很多,大家可以自行搜索,下面只列举一个最基本的用法,使用shell脚本登录远程服务器:

阅读全文>>

标签: expect

评论(0) 浏览(1958)

curl出现empty reply from server

2017-7-20 liyangweb.com 李杨 服务器

今天使用curl调用接口的时候,遇到了一个问题,提示empty reply from server,经过查询发现可能会有多种可能导致这种情况,但实际中我遇到情况是接口仅支持https协议,而我调用时使用的是http协议。

其他可能性这里不做深究了,记录一下。

评论(6) 浏览(1750)

使用docker命令时,如何避免使用sudo

2017-7-12 liyangweb.com 李杨 服务器

在我们使用docker的时候,想查看docker下都有哪些镜像,执行命令:

docker images

可结果却给了我们这样的提示:

阅读全文>>

标签: docker

评论(0) 浏览(4760)

windows下编写的shell脚本在linux上报错

2017-7-7 liyangweb.com 李杨 服务器

当在Linux下写好一个脚本之后保存在windows上,在Windows上修改以后再传到Linux上,可能脚本就不能执行了。

阅读全文>>

标签: shell

评论(0) 浏览(1007)

免密码登录linux主机

2017-6-17 liyangweb.com 李杨 服务器

免密码登录的原理是在需要登录的远程主机(下文使用B代指)信任列表里,存放当前机器(下文使用A代指)的公钥。

阅读全文>>

标签: Linux

评论(1) 浏览(1145)

linux修改默认时区

2017-6-7 liyangweb.com 李杨 服务器

1.删除原时区文件,或将原时区文件改名备份

sudo mv localtime localtime_bak

2.复制相应的时区文件到指定目录,或建立软连接

sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime


评论(0) 浏览(939)

Linux sh脚本异常:bad interpreter: No such file or directory

2017-4-19 liyangweb.com 李杨 服务器

在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。


分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。 
解决:1)在windows下转换: 
利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。 
2)也可在Linux中转换: 
首先要确保文件有可执行权限 
#sh>chmod a+x filename 

然后修改文件格式 
#sh>vi filename 

利用如下命令查看文件格式 
:set ff 或 :set fileformat 

可以看到如下信息 
fileformat=dos 或 fileformat=unix 

利用如下命令修改文件格式 
:set ff=unix 或 :set fileformat=unix 

:wq (存盘退出) 

最后再执行文件 

#sh>./filename


转自网络,未找到原文链接。

阅读全文>>

评论(1) 浏览(1195)

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message

2017-3-1 liyangweb.com 李杨 服务器

在ubuntu系统中,通过apt-get install apache2安装了apache服务器,在启动的时候发现报错:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message

解决方法:

 vim /etc/apache2/apache2.conf

在文件末尾加上 ServerName localhost:80

执行 apachectl start

启动正常。

标签: apache

评论(2) 浏览(6244)

启动php-fpm后,访问不到php文件的解决办法

2016-11-3 liyangweb.com 李杨 服务器

问题场景:


  1. linux系统
  2. nginx服务器
  3. 安装好了fpm的php7
  4. 在nginx的web目录下新建了index.php文件,内容为phpinfo()函数。(如果是源码安装,位置一般为 /usr/local/nginx/html/index.php)

nginx经过了简单的配置,开始试验是否可以支持php


        location / {
            root   html;
            index  index.html index.htm index.php;
        }

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }
在浏览器访问 localhost/index.php


结果为 File not found.

这时候我们查看nginx的错误日志,错误日志的主要内容为 FastCGI sent in stderr: "Primary script unknown"

经过分析+搜索前辈经验得出结论,nginx的配置文件无法识别/scripts路径,所以我们将配置文件中的/scripts改为$document_root,或者web目录的绝对路径。更改后的配置文件如下:

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
重启nginx服务器,已经可以正确显示phpinfo()的内容了。


标签: PHP nginx

评论(0) 浏览(2067)

使用vi/vim编辑只读文件,打开的时候忘记加sudo怎么办

2016-10-20 liyangweb.com 李杨 服务器

在linux服务器上操作一些配置文件时,有很大一部分都是只读文件,我们当然知道要使用sudo命令用管理员身份来打开并编辑,但是有时候需要编辑好多文件,某一个文件打开的时候很有可能就忘记加sudo,这时候问题来了,当我们愉快的编辑完成之后,输入:wq 时就悲剧了,提示没有权限,那我们怎么办呢?记下刚刚修改的内容,强制退出,重新用管理员身份打开,重新编辑。好麻烦有木有,有一个更简单的方法,如下:

阅读全文>>

标签: Linux

评论(1) 浏览(3683)

Powered by emlog 冀ICP备13011830号-1