ข้ามไปยังเนื้อหาหลัก
ลด 50% ทุกแพลน เวลาจำกัด เริ่มต้นที่ $2.48/mo
11 min left
Server และ OS

อธิบาย Bash Functions: Syntax ตัวอย่าง และ Use Cases

Kelly Watson โดย Kelly Watson 11 นาทีในการอ่าน อัปเดตเมื่อ Dec 14, 2025
Abstract 3D illustration of glowing blue code blocks assembling into a modular structure, representing Bash functions

Bash functions รวมคำสั่งที่เกี่ยวข้องกันไว้ภายใต้ชื่อเดียว เมื่อคุณเรียกชื่อนั้น บล็อกคำสั่งทั้งหมดจะทำงาน คุณสามารถส่ง argument เพื่อปรับพฤติกรรม และ return ค่ากลับมาเพื่อสื่อสารผลลัพธ์ วิธีนี้ช่วยให้โค้ดของคุณสะอาดและดูแลรักษาได้ง่าย

Linux ครองสภาพแวดล้อม server ทั่วโลก ดังนั้นการเชี่ยวชาญ Bash functions จึงสำคัญกว่าที่เคย functions ช่วยเปลี่ยน script ที่ยุ่งเหยิงให้กลายเป็น automation ที่สะอาดและนำกลับมาใช้ใหม่ได้

คู่มือนี้จะพาคุณเดินทางจาก syntax พื้นฐานไปจนถึงการใช้งานขั้นสูง คุณจะได้เรียนรู้วิธีประกาศ function, ส่ง parameter, จัดการ return value และดูตัวอย่างจริง 10 แบบที่นำไปใช้ใน script ของคุณเองได้ทันที

สรุปสั้น ๆ

  • Bash functions คือบล็อกโค้ดที่มีชื่อ ซึ่งนำกลับมาใช้ซ้ำได้ทั่วทั้ง script ของคุณ
  • ประกาศ function โดยใช้ function_name() { commands; } ไวยากรณ์
  • ส่ง argument โดยใช้ $1, $2, $3 พารามิเตอร์ตามตำแหน่ง
  • Functions ช่วยเพิ่มความอ่านง่าย, การแยกส่วน, และความสะดวกในการดูแลรักษาโค้ด
  • ใช้ return ใช้เพื่อออกจาก function และส่งกลับ status code (0 = สำเร็จ, ค่าอื่นๆ = ล้มเหลว)
  • ฟังก์ชันสามารถแชร์ระหว่างสคริปต์ได้โดยใช้ source or export -f
  • ตัวอย่างการใช้งานจริง เช่น การสำรองไฟล์ การตรวจสอบดิสก์ การตรวจสอบข้อมูลนำเข้า และการตรวจสอบสถานะเซอร์วิส

Bash Scripting คืออะไร

3D illustration of a digital scroll with glowing Bash code writing itself, representing the automation of Bash scripting.

Bash scripting คือวิธีการทำงานอัตโนมัติผ่าน Bash shell โดยทำหน้าที่เป็น command-line interface เริ่มต้นของ Linux และยังคงเป็นเครื่องมือมาตรฐานบน macOS สคริปต์ Bash คือโปรแกรมที่เขียนด้วยภาษา Bash ซึ่งสามารถรันได้ทั้งในเทอร์มินัลและในรูปแบบไฟล์สคริปต์แบบอิสระ

กับ การใช้งาน Linux บน desktop เติบโตอย่างต่อเนื่อง และระบบปฏิบัติการที่ครองตลาดเซิร์ฟเวอร์ทั่วโลก ทำให้ทักษะ Bash scripting มีคุณค่ามากขึ้นสำหรับผู้เชี่ยวชาญด้าน IT ภาษานี้ทำงานร่วมกับเครื่องมือ DevOps อย่าง Docker, Kubernetes และ CI/CD pipeline ได้เป็นอย่างดี

Bash scripting ช่วยให้คุณทำงานได้ตั้งแต่คำสั่งพื้นฐานไปจนถึงระบบอัตโนมัติและการจัดการระบบที่ซับซ้อน คุณสามารถทำงานซ้ำๆ โดยอัตโนมัติ เขียนสคริปต์สำหรับดูแลระบบ สร้าง deployment pipeline จัดการซอฟต์แวร์ และประมวลผลข้อมูลได้

Bash Function คืออะไร

Futuristic digital illustration showing messy command line data being organized by a glowing processing gate, symbolizing how a Bash function works, with empty space on the left.

Bash function คือชุดคำสั่งที่นิยามไว้ภายในสคริปต์ Bash หรือกำหนดแบบ interactive ที่ command prompt ขึ้นอยู่กับการใช้งาน เมื่อนิยามแล้ว Bash function สามารถเรียกใช้ได้หลายครั้งในสคริปต์เดียวกันหรือในสคริปต์อื่น เหมือนกับคำสั่ง shell ทั่วไป

Bash function ช่วยให้คุณสร้างบล็อกโค้ดที่นำกลับมาใช้ใหม่ได้ ทำงานที่ซับซ้อนได้ จัดระเบียบโค้ด และทำให้สคริปต์อ่านง่ายขึ้น คุณสามารถส่ง argument เข้าไปใน Bash function แล้วนำไปประมวลผลภายในฟังก์ชันได้ และ Bash function ยังคืนค่าที่นำไปใช้ต่อในสคริปต์ได้ด้วย

เราจะครอบคลุมรูปแบบการเขียนเฉพาะหลายแบบ ได้แก่ simple_function สำหรับ logic พื้นฐาน simple_inputs สำหรับการจัดการ argument และโครงสร้างขั้นสูง เช่น fibonnaci_recursion.

พื้นฐานของ Bash function มีความสำคัญสำหรับ system administrator และ DevOps engineer ทุกคนที่ทำงานด้านระบบอัตโนมัติ ส่วนถัดไปจะอธิบายแต่ละประเภทอย่างละเอียด

ทำไมต้องใช้ Bash Functions

Glowing blue gear with optimization symbols driving a code machine, representing the efficiency and speed gained by using Bash functions.

หลังจากทำความเข้าใจนิยามของ Bash function แล้ว มาดูข้อดีหลักๆ ของมัน ส่วนนี้จะช่วยให้คุณเห็นว่าฟังก์ชันมีประโยชน์มากที่สุดในสถานการณ์ใด

การนำกลับมาใช้ใหม่

เมื่อคุณเขียน Bash function คุณจะได้เครื่องมือที่มีประสิทธิภาพ คุณเขียนบล็อกโค้ดครั้งเดียวและนำกลับมาใช้ใหม่ได้หลายครั้งในสคริปต์เดียวกันหรือสคริปต์อื่น

วิธีนี้ทำให้โค้ดมีประสิทธิภาพมากขึ้นและประหยัดเวลาด้วยการกำจัดโค้ดซ้ำซ้อน การดูแลโค้ดทำได้ง่ายขึ้นเพราะคุณแก้ไขแค่ที่ฟังก์ชันเดียว

ความสามารถในการอ่าน

สคริปต์ที่ซับซ้อนอาจอ่านยาก Bash function แก้ปัญหานี้ด้วยการแบ่งสคริปต์ออกเป็นส่วนย่อยที่จัดการได้ง่ายขึ้น

แต่ละฟังก์ชันมีหน้าที่เฉพาะและมีชื่อที่สื่อความหมาย ช่วยให้คุณและผู้อื่นเข้าใจและดูแลโค้ดได้ง่ายขึ้น

โมดูลาร์ลิตี้

ฟังก์ชันช่วยจัดระเบียบโค้ดของคุณ คุณสามารถแบ่ง logic ออกเป็นโมดูลย่อย ทำให้โครงสร้างสคริปต์สะอาดและจัดการได้ง่าย

และถ้าคุณต้องการเพิ่มฟีเจอร์ใหม่ ก็ทำได้เลยโดยไม่กระทบส่วนอื่นของสคริปต์ เมื่อถึงเวลาลบหรือแก้ไขฟังก์ชัน ส่วนที่เหลือก็ยังคงอยู่ครบถ้วน

พารามิเตอร์ของ Bash Function

คุณสามารถส่ง argument หรือ parameter เข้าไปในฟังก์ชันได้ ซึ่งช่วยให้ฟังก์ชันปรับตัวและทำงานแตกต่างกันตาม input ที่ได้รับ

สิ่งนี้เปิดโอกาสใหม่หลายอย่าง พร้อมกับทำให้ฟังก์ชันของคุณยืดหยุ่นและปรับใช้ได้มากขึ้น แทนที่จะเขียนโค้ดที่คล้ายกันซ้ำหลายครั้ง คุณเขียนฟังก์ชันเดียวที่รองรับ input ต่างกันได้เลย

จะใช้ Bash Function ได้อย่างไร และใช้ที่ไหน?

3D glass flow chart showing script execution branching into a function block and returning, visualizing how Bash functions are used in logic flow.

มาลงรายละเอียดทางเทคนิคกัน โดยเริ่มจากตัวอย่างสั้นๆ ของการสร้าง Bash function ไวยากรณ์ต่อไปนี้ใช้ได้ในระบบ Unix หากคุณใช้ Windows คุณสามารถ ติดตั้ง Linux Bash บน Windows 10 เพื่อทดลองทำตามตัวอย่างเหล่านี้

การสร้าง Bash Function

เริ่มต้นด้วยโครงสร้างคำสั่งต่อไปนี้:

function_name () {

    # คำสั่งไปที่นี่

}

 

เมื่อสร้างฟังก์ชันแล้ว คุณสามารถเรียกใช้ได้ทุกเมื่อในโค้ด นี่คือตัวอย่างที่ใช้งานได้จริง:

greet () {

    echo "สวัสดี, $1!"

}

 

เรียกฟังก์ชันนี้ด้วย สวัสดี World เพื่อแสดงผล "Hello, World!" โดยที่ $1 แทนค่า argument แรกที่ส่งเข้ามาในฟังก์ชัน

นี่คือตัวอย่างเพิ่มเติมที่นำไปใช้ในสคริปต์ของคุณได้เลย:

# สร้างไฟล์สำรองข้อมูลจากไฟล์ใดก็ได้

backup_file () {

    cp "$1" "$1.bak"

    echo "Backup created: $1.bak"

}

 

# ตรวจสอบว่า directory มีอยู่หรือไม่ ถ้าไม่มีให้สร้างขึ้นมา

ensure_dir () {

    ถ้า [ ! -d "$1" ]; then

        mkdir -p "$1"

        echo "Created directory: $1"

    fi

}

 

# บันทึก log พร้อม timestamp

log_message () {

    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"

}

 

คุณนิยาม Bash function แบบกำหนดเองเหล่านี้ครั้งเดียว แล้วเรียกใช้ได้ทุกที่ในสคริปต์ตามต้องการ

พื้นฐานไวยากรณ์ของ Function

ฟังก์ชันทำงานเหมือนสคริปต์ขนาดเล็กภายในสคริปต์หลัก แต่ใช้หน่วยความจำของ shell ร่วมกัน ให้คำนึงถึงพฤติกรรมเฉพาะสามอย่างนี้เมื่อเขียนฟังก์ชัน

ขอบเขตของตัวแปร (Local กับ Global)

ตัวแปรภายในฟังก์ชันจะเป็น global โดยค่าเริ่มต้น หากคุณกำหนด my_var="test" ภายในฟังก์ชัน จะไปทับค่า my_var ที่มีอยู่ในสคริปต์ ควรใช้ local เพื่อจำกัดตัวแปรให้อยู่ภายในฟังก์ชัน ป้องกัน side effect:

local my_var="value"

พารามิเตอร์ตำแหน่ง

ฟังก์ชันรับ argument ผ่านตัวแปร $1, $2 และ $@ ชุดเดียวกับสคริปต์ ตัวแปรเหล่านี้เป็น local ของฟังก์ชันและจะถูก reset เมื่อฟังก์ชันทำงานเสร็จ argument ดั้งเดิมของสคริปต์จะไม่สามารถเข้าถึงได้ภายในฟังก์ชัน เว้นแต่จะส่งผ่านเข้ามาโดยตรง

ค่าส่งคืน

ฟังก์ชัน Bash ไม่ได้ return ข้อมูลแบบเดียวกับฟังก์ชันใน Python หรือ JavaScript คำสั่ง return จะกำหนดเพียง exit status (0-255) เพื่อบอกว่าสำเร็จหรือล้มเหลว หากต้องการ return ข้อมูลจริง (เช่น string หรือผลการคำนวณ) echo ผลลัพธ์แล้วรับค่ากลับตอนเรียกใช้ฟังก์ชัน:

result=$(my_function)

10 ตัวอย่างฟังก์ชัน Bash ที่ใช้งานได้จริง

เมื่อเข้าใจฟังก์ชัน Bash และวิธีสร้างแล้ว นี่คือสิบตัวอย่างที่นำไปใช้กับสคริปต์ได้เลย แต่ละฟังก์ชันแก้ปัญหาที่พบบ่อย และแสดงให้เห็นโครงสร้าง argument และการ return ค่าที่ถูกต้อง

1. ฟังก์ชันสำรองไฟล์

สร้างไฟล์สำรองพร้อม timestamp สำหรับไฟล์ใด ๆ:

backup_file () {

    ไฟล์ในเครื่อง="$1"

    local backup="${file}.$(date +%Y%m%d_%H%M%S).bak"

    

    ถ้า [ -f "$file" ]; แล้ว

        cp "$file" "$backup"

        echo "Backup created: $backup"

        return 0

    else

        echo "Error: File not found"

        return 1

    fi

}

 

การใช้งาน: backup_file /etc/nginx/nginx.conf

๒. เครื่องมือตรวจสอบโฟลเดอร์

ตรวจสอบว่า directory มีอยู่หรือไม่ และสร้างขึ้นหากยังไม่มี:

ensure_dir () {

    local dir="$1"

    

    ถ้า [ ! -d "$dir" ]; แล้ว

        mkdir -p "$dir"

        echo "Created: $dir"

    fi

}

 

การใช้งาน: ensure_dir /var/log/myapp

3. ตัวบันทึกที่มีการประทับเวลา

เพิ่ม timestamp ในข้อความ log เพื่อช่วย debug:

log_message () {

    ระดับท้องถิ่น level="$1"

    local message="$2"

    echo "[$(date '+%Y-%m-%d %H:%M:%S')] [$level] $message"

}

 

การใช้งาน: log_message "INFO" "Script started"

4. ตรวจสอบพื้นที่ดิสก์

ตรวจสอบการใช้งานดิสก์และแจ้งเตือนหากเกิน threshold ที่กำหนด:

check_disk_space () {

    local threshold="${1:-80}"

    local usage=$(df / | tail -1 | awk ‘{print $5}’ | tr -d ‘%’)

    

    if [ "$usage" -gt "$threshold" ]; then

        echo "Warning: Disk usage at ${usage}%"

        return 1

    fi

    return 0

}

 

การใช้งาน: check_disk_space 90

5. ตัวตรวจสอบข้อมูลป้อนเข้า

ตรวจสอบว่าข้อมูลที่ผู้ใช้กรอกไม่ว่างเปล่า:

validate_input () {

    ป้อนข้อมูลท้องถิ่น="$1"

    ชื่อท้องถิ่น="$2"

    

    ถ้า [ -z "$input" ]; แล้ว

        echo "Error: $name cannot be empty"

        return 1

    fi

    return 0

}

 

การใช้งาน: ตรวจสอบอินพุต "$username" "ชื่อผู้ใช้"

6. ตรวจสอบสถานะ Service

ตรวจสอบว่า service กำลังทำงานอยู่หรือไม่ และแสดงสถานะ:

check_service () {

    บริการท้องถิ่น="$1"

    

    if systemctl is-active –quiet "$service"; then

        echo "$service is running"

        return 0

    else

        echo "$service is not running"

        return 1

    fi

}

 

การใช้งาน: check_service nginx

7. ดึงนามสกุลไฟล์

ดึงนามสกุลออกจากชื่อไฟล์:

get_extension () {

    ชื่อไฟล์ในเครื่อง="$1"

    echo "${filename##*.}"

}

 

การใช้งาน: ext=$(get_extension "document.pdf")

8. เครื่องตัดหญ้า

ตัดช่องว่างที่อยู่หน้าและหลังสตริงออก:

trim_string () {

    local str="$1"

    str="${str#"${str%%[![:space:]]*}"}"

    str="${str%"${str##*[![:space:]]}"}"

    echo "$str"

}

 

การใช้งาน: clean=$(trim_string " hello world ")

9. เก็บถาวรไฟล์อย่างปลอดภัย

ย้ายไฟล์ไปยังไดเรกทอรี $HOME/.trash แทนการลบถาวร โดยเพิ่ม timestamp ต่อท้ายชื่อไฟล์เพื่อป้องกันการเขียนทับไฟล์สำรองเดิม

safe_remove() {

    ไฟล์ในเครื่อง="$1"

    local trash="$HOME/.trash"

    # เพิ่มการประทับเวลาเพื่อหลีกเลี่ยงการเขียนทับไฟล์ที่มีอยู่

    local new_name="$(basename "$file")_$(date +%s)"

    

    mkdir -p "$trash"

 

    ถ้า [ -e "$file" ]; แล้ว

        mv "$file" "$trash/$new_name"

        echo "Moved to archive: $file -> $trash/$new_name"

    else

        echo "Error: $file not found"

        return 1

    fi

}

 

การใช้งาน: safe_remove old_script.sh

 

10. ผู้รายงานสถานะ

แสดงให้เห็นกลไกค่าที่ส่งกลับจากฟังก์ชัน Bash สำหรับการจัดการข้อผิดพลาด ค่าที่ฟังก์ชัน Bash ส่งกลับจะระบุว่าทำงานสำเร็จ (0) หรือล้มเหลว (ค่าที่ไม่ใช่ศูนย์):

process_data () {

    ไฟล์ในเครื่อง="$1"

    

    ถ้า [ ! -f "$file" ]; then

        return 1

    fi

    

    # ประมวลผลไฟล์

    cat "$file" | wc -l

    return 0

}

 

# ตรวจสอบค่าที่ส่งคืน

process_data "data.txt"

if [ $? -eq 0 ]; then

    echo "ประมวลผลเสร็จสิ้น"

else

    echo "ประมวลผลล้มเหลว"

fi

 

เวอร์ชัน $? ตัวแปรนี้เก็บสถานะการออกจากคำสั่งหรือการเรียกฟังก์ชันล่าสุด

ฟังก์ชัน วัตถุประสงค์ คุณสมบัติหลัก
backup_file สร้างไฟล์สำรอง ตั้งชื่อตามเวลา
ensure_dir การจัดการไดเรกทอรี่ สร้างหากไม่มีอยู่
log_message การเข้าสู่ระบบ 접두사 타임스탐프 Wait, let me correct that. The target language is Thai, not Korean. **คำนำหน้าแสดงเวลา**
check_disk_space การตรวจสอบระบบ เตือนเมื่อถึงขีดจำกัด
validate_input การตรวจสอบข้อมูลเข้า ตรวจสอบสตริงว่าง
check_service การตรวจสอบบริการ การรวมระบบ Systemd
get_extension การแยกวิเคราะห์สตริง การขยายพารามิเตอร์
trim_string ล้างข้อมูล ลบเว้นวรรค
safe_remove ลบอย่างปลอดภัย ถังขยะ
process_data การจัดการข้อผิดพลาด ค่าตอบแทน

การรัน Bash Functions บน VPS

Bash functions มีประสิทธิภาพสูงสุดเมื่อรันบนสภาพแวดล้อมเซิร์ฟเวอร์เฉพาะ VPS ของเรา Linux VPS ให้สิทธิ์ root เต็มรูปแบบเพื่อปรับแต่ง shell environment สร้างไลบรารีฟังก์ชันระดับระบบ และทำให้งานจัดการเซิร์ฟเวอร์เป็นอัตโนมัติได้อย่างไม่มีข้อจำกัด

ด้วย VPS คุณสามารถเก็บฟังก์ชันที่ใช้ซ้ำได้ไว้ใน /etc/profile.d/ สำหรับผู้ใช้ทุกคน จัดตารางสคริปต์แบบ function-based ผ่าน cron job และสร้างไปป์ไลน์อัตโนมัติสำหรับการปรับใช้และการบำรุงรักษา เรามีเซิร์ฟเวอร์ครอบคลุม 13 รีเจียน ด้วยความเร็วเครือข่ายสูงสุด 40 Gbps และหน่วยความจำ DDR5 ซึ่งหมายถึงการรันสคริปต์ที่เร็วขึ้นและการประมวลผลข้อมูลที่ราบรื่นยิ่งขึ้น

การควบคุมในระดับนี้ทำให้ VPS เหมาะอย่างยิ่งสำหรับผู้ที่จริงจังกับ shell scripting และการทำให้ระบบทำงานอัตโนมัติ

บทสรุป

Bash functions เป็นหัวใจสำคัญของการเขียน script แบบ modular และนำกลับมาใช้ซ้ำได้ ช่วยให้คุณจัดกลุ่มคำสั่งที่เกี่ยวข้องไว้ด้วยกันและห่อหุ้ม logic ที่ซับซ้อน ทำให้โค้ดอ่านและดูแลรักษาได้ง่ายขึ้น ไม่ว่าจะจัดการ cloud infrastructure ทำให้ deployment pipeline เป็นอัตโนมัติ หรือดูแลงาน system administration ประจำวัน ฟังก์ชันช่วยให้ script ของคุณเป็นระเบียบและมีประสิทธิภาพ

ในบทความนี้ เราครอบคลุมพื้นฐานของ Bash functions ตั้งแต่การประกาศและเรียกใช้งาน ตัวอย่างฟังก์ชันที่ใช้งานได้จริง 10 แบบ และ use case ทั่วไป เพื่อให้คุณเริ่มต้นโปรเจกต์ automation ของตัวเองได้

เมื่อใช้ร่วมกับโครงสร้างควบคุมอย่าง Bash if statementฟังก์ชันจะกลายเป็นโครงสร้างพื้นฐานสำหรับการทำงานอัตโนมัติที่ทรงพลัง การใช้ Bash functions ใน script ช่วยให้คุณเขียนโค้ดที่สะอาดและเป็น modular มากขึ้น อ่านเข้าใจง่าย และดูแลรักษาได้สะดวก

คำถามที่พบบ่อย

Bash functions มีตัวแปร local ได้ไหม?

ได้ Bash functions รองรับตัวแปร local โดยใช้คีย์เวิร์ด local ซึ่งจำกัดขอบเขตของตัวแปรให้อยู่แค่ภายในฟังก์ชัน ป้องกันไม่ให้กระทบกับตัวแปรที่ชื่อเดียวกันภายนอก

Bash functions เรียกตัวเองแบบ recursive ได้ไหม?

ได้ Bash functions รองรับการเรียกแบบ recursive แต่ Bash มีขนาด call stack เริ่มต้นที่ค่อนข้างเล็ก ดังนั้นหากฟังก์ชัน recursive ของคุณต้องการ stack มาก คุณอาจต้องเพิ่มขนาดด้วยคำสั่ง ulimit -s ก่อนรัน

นำ Bash functions ไปใช้ใน script อื่นได้ไหม?

ได้ คุณแชร์ Bash functions ระหว่าง script ได้โดยใช้คำสั่ง source (หรือย่อว่า .) การ source ไฟล์ที่มีนิยามฟังก์ชัน จะทำให้ฟังก์ชันเหล่านั้นพร้อมใช้งานใน script ที่เรียก สำหรับ child process ให้ใช้ export -f function_name เพื่อให้เข้าถึงฟังก์ชันได้

ใช้ Bash functions ใน pipeline ได้ไหม?

ได้ แต่สำหรับคำสั่งภายนอกต้องทำตามขั้นตอนเฉพาะ ภายใน script คุณสามารถ pipe ข้อมูลเข้าฟังก์ชันโดยตรง เช่น cat file | my_function แต่คำสั่งอย่าง xargs หรือ find -exec รันในสภาพแวดล้อมใหม่ หากต้องการใช้ฟังก์ชันในกรณีนี้ ต้อง export ก่อน (export -f my_func) แล้วเรียก Bash ขึ้นมาตรงๆ เช่น xargs bash -c 'my_func "$@"'

ฟังก์ชันใน Shell Script คืออะไร?

ฟังก์ชันใน shell script คือบล็อกโค้ดที่กำหนดขึ้นเพื่อทำงานเฉพาะอย่าง และสามารถเรียกใช้ได้จากจุดต่าง ๆ ภายในสคริปต์ การใช้ฟังก์ชันช่วยให้โค้ดเป็นระเบียบ นำกลับมาใช้ซ้ำได้ง่าย และดูแลรักษาได้สะดวกขึ้น ในบริบทของ Bash scripting ฟังก์ชันจะอยู่ภายใต้สคริปต์หลักทั้งหมด

Share

บทความเพิ่มเติมจากบล็อก

อ่านต่อ

Best Self-Hosted Apps You Can Run with Cosmos Cloud cover image with app panels around a Cosmos dashboard.
Server และ OS

แอป Self-Hosted ที่ดีที่สุดที่คุณรันได้บน Cosmos Cloud: ไฟล์ สื่อ รหัสผ่าน ระบบอัตโนมัติ และอื่นๆ!

Maybe you’ve set up Cosmos Cloud and now want to see what apps match well with it, or maybe you haven’t even decided on Cosmos yet and just want to see how well it fits your workfl

Nick SilverNick Silver 16 นาทีในการอ่าน

พร้อมติดตั้งหรือยัง? เริ่มต้น $2.48/เดือน

คลาวด์อิสระ ตั้งแต่ปี 2008 AMD EPYC, NVMe, 40 Gbps คืนเงินภายใน 14 วัน