一 開啟自啟動 gitlab思考
1在ubantu(linux)系統(tǒng)上 裝了gitlab后 希望添加開機自動啟動gitlab服務(wù)。
2 手動啟動的方式:cd 'prt/gitlab-7.14.3-0' ? ? ? ? ? ? sudo ?.manager-linux.run啟動圖形管理 然后點擊全部啟動。或者 stlscript.sh start執(zhí)行。
3 linux系統(tǒng) 開機啟動的方式有兩種,一是 etc/rc.local 中的exti 0 前 添加執(zhí)行。 另一種不嘗試不介紹。
在打開etc/rc.loacl 后,文件內(nèi)容是空的,并沒有發(fā)現(xiàn)exit 0 。自己添加。然后學習 linux腳步的寫法
4利用 一個自帶的軟件--啟動應(yīng)用程序(后來才發(fā)現(xiàn)有這么個軟件)
二 linux腳本學習
1開頭 ?必須是 ? #!/bin/sh ? ? ? ?#!表示以什么程序來執(zhí)行下面的命令
2編譯 chmod +x filename 這樣才能用./filename 來運行 ?這句沒理解.
編譯兩個字 應(yīng)該去掉,chmod 是修改文件權(quán)限的命令。
r 表示有可讀取的權(quán)限,
w?表示有可寫入的權(quán)限,
x?表示有可執(zhí)行的權(quán)限,
X?表示只有當該文件是個子目錄或者該文件已經(jīng)被設(shè)定過為可執(zhí)行。
3 需要輸入密碼,提供自動交互。
方法一(重定向)簡單直觀,也經(jīng)常有實際應(yīng)用,但是在自動交互領(lǐng)域功能有限。
方法二(管道)也很簡單直觀,有時甚至不用sleep配合就能展現(xiàn)強大的自動交互實力,但是在某些時候也束手無策。
方法三(expect)在功能上是最為強大的,expect本來就是為實現(xiàn)自動交互功能而生,但是缺點是需要安裝expect包,在嵌入式等環(huán)境下難以安裝。
方法二:
于是我便寫了一個腳本,意圖一鍵即可打開這個控制臺程序。
最初是這樣的:
復(fù)制代碼代碼如下:
#!/bin/bash
#執(zhí)行xampp控制臺
cd /opt/lampp/
sudo ./manager-linux-x64.run
但是執(zhí)行之后還是會讓你輸入密碼,十分的不方便。
于是想到了管道,經(jīng)過修改后,終于可以不用輸入密碼,一鍵sudo并打開程序了。
格式:echo '你的密碼'|sudo -S 執(zhí)行命令
復(fù)制代碼代碼如下:
#!/bin/bash
#執(zhí)行xampp控制臺
cd /opt/lampp/
echo 'yourpassword'|sudo -S ./manager-linux-x64.run
三 總結(jié)
最終寫了腳本
#! /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'
并利用 ?啟動應(yīng)用程序 這個ubantu自帶的軟件 ?加入了開機自啟動。其他方式 都或多或少有問題。