一 开启自启动 gitlab思考

1在ubantu(linux)系统上 装了gitlab后 希望添加开机自动启动gitlab服务。

2 手动启动的方式:cd 'prt/gitlab-7.14.3-0'             sudo  .manager-linux.run启动图形管理 然后点击全部启动。或者 stlscript.sh start执行。

3 linux系统 开机启动的方式有两种,一是 etc/rc.local 中的exti 0 前 添加执行。 另一种不尝试不介绍。

在打开etc/rc.loacl 后,文件内容是空的,并没有发现exit 0 。自己添加。然后学习 linux脚步的写法

4利用 一个自带的软件--启动应用程序(后来才发现有这么个软件)

二 linux脚本学习

1开头  必须是   #!/bin/sh        #!表示以什么程序来执行下面的命令

2编译 chmod +x filename 这样才能用./filename 来运行  这句没理解.

编译两个字 应该去掉,chmod 是修改文件权限的命令。

r 表示有可读取的权限,

w 表示有可写入的权限,

x 表示有可执行的权限,

X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

3 需要输入密码,提供自动交互。

方法一(重定向)简单直观,也经常有实际应用,但是在自动交互领域功能有限。

方法二(管道)也很简单直观,有时甚至不用sleep配合就能展现强大的自动交互实力,但是在某些时候也束手无策。

方法三(expect)在功能上是最为强大的,expect本来就是为实现自动交互功能而生,但是缺点是需要安装expect包,在嵌入式等环境下难以安装。

方法二:

于是我便写了一个脚本,意图一键即可打开这个控制台程序。

最初是这样的:

复制代码代码如下:

#!/bin/bash

#执行xampp控制台

cd /opt/lampp/

sudo ./manager-linux-x64.run

但是执行之后还是会让你输入密码,十分的不方便。

于是想到了管道,经过修改后,终于可以不用输入密码,一键sudo并打开程序了。

格式:echo '你的密码'|sudo -S 执行命令

复制代码代码如下:

#!/bin/bash

#执行xampp控制台

cd /opt/lampp/

echo 'yourpassword'|sudo -S ./manager-linux-x64.run

三 总结

最终写了脚本#! /bin/sh

cd  '/opt/gitlab-7.14.3-0'

echo '我的密码'|sudo -S ./ctlscript.sh start

echo '我的密码'|sudo -S ./manager-linux.run

echo 'pwd auto input and enter ----run gitlab auto'

并利用  启动应用程序 这个ubantu自带的软件  加入了开机自启动。其他方式 都或多或少有问题。