使用shell程式設計實現LinuxFTP伺服器的配置

2021-10-23 09:30:55 字數 2640 閱讀 4399

#! /bin/bash

installftp(

)versionftp(

)passwdftp(

)mkdirftp(

)chmodftp(

)find_in_file()

matching_num(

)add_line_at_end(

)del_line(

)add_line(

)echo

"do you want to install vsftp? [y/n]"

read ansif[

"$ans"="y"

]; then

installftp $ansif[

"$?"

-eq"0"

]; then

echo

"successful installed!"

version=$(versionftp)

echo

-n "current verion number:"

# 用cut切割字串 得到當前vsftpd的版本號

# 版本號為以「-」為分隔符的第二個子串

echo

"$version"

| cut -f2 -d "-"

fi

else

echo

"skip the download step!"fi

echo

"do you want to make a new documents? [y/n]"

read ans if

["$ans" = "y"

]; then

# 查詢當前的ftp路徑

pwdftp=$(passwdftp)

echo

"ftp passed: $pwdftp"

echo

-n "enter trhe upload/download file name: "

read filename

# 拼接字串

filedir="$pwdftp/$filename"

# echo "$filedir"

# 建立資料夾

mkdirftp $filedir

# 進行測試 if[

"$?"

-eq"0"

]; then

echo

"file successful set up!"

else

echo

"file exists!"

fi# 賦予許可權

chmodftp $filedir

# 進行測試 if[

"$?"

-eq"0"

]; then

echo

"grand permission successfully!"

else

echo

"failed to grant permission!"

fifi

echo

"do you want anonymous users to upload&download? [y/n]"

read ansif[

"$ans" = "y"

]; then

# 已知vsftpd配置檔案的完整路徑

confpath="/etc/vsftpd/vsftpd.conf"

echo

"the current path of the configure file is: $confpath"

# 對當前檔案進行處理

echo

"modifying. . . "

# 獲取當前應該寫入的行數num

num=$(matching_num $confpath

$annocontents

)# 用let命令將num自減

# 使用算術計算表示式

let num=$[num-1]

# 先刪除注釋行

del_line $confpath

$annocontents

# 在檔案指定處批量新增內容

for i in $

do res=$(find_in_file $confpath

"$i"

)# 測試函式返回結果if[

"$res"

-eq"0"

]; then

add_line $confpath

$i$num

echo

"$i modified."

else

echo

"$i exists!"

fidone

fi

使用方式看這裡!!!!

Linux與shell程式設計實戰(一)Linux入門

shell 外殼程式 gui gnome,rde,xfce gli sh,csh 接近c語言 ksh 商業化 bash最強大功能遵循開源,zsh也比較強大但沒有流行 當前所有系統預設都是bash可以支援 程式 唯一 程序 程式的副本,程式的例項 帶有核心管理的生命週期 程序 每個程序不知道,當前主機...

Mono使用C 執行shell指令碼 Linux

process process new process process.startinfo.filename bash process.startinfo.createnowindow false 獲取或設定指示是否在新視窗中啟動該程序的值 不想彈出powershell視窗看執行過程的話,就 tru...

使用expect實現shell互動式程式設計

expect是乙個自動化互動套件,主要應用於執行命令和程式時,系統以互動形式要求輸入指定字串,實現互動通訊。expect自動互動流程 spawn啟動指定程序 expect獲取指定關鍵字 send向指定程式傳送指定字元 執行完成退出。expect常用命令總結 spawn 互動程式開始,後面跟命令或者指...