Forwarded from Zenith flow
مدیریت بستهها: apt
نصب وابستگیها:
sudo apt update sudo apt install build-essential libncursesw5-dev
مدیریت بستهها:
pacmam
نصب وابستگیها:
sudo pacman -S base-devel ncurses
مدیریت بستهها:
dnf یا yum
نصب وابستگیها:
sudo dnf groupinstall "Development Tools" sudo dnf install ncurses-devel
مدیریت بستهها:
zypper
نصب وابستگیها:
sudo zypper install -t pattern devel_basis sudo zypper install ncurses-devel
ابتدا سورس برنامه را از مخزن رسمی دریافت کنید:
wget https://github.com/htop-dev/htop/archive/refs/tags/3.2.2.tar.gz
tar -xvzf 3.2.2.tar.gz cd htop-3.2.2
./autogen.sh ./configure
make
sudo make install
htop --version
./configure --prefix=$HOME/local
#Linux #OpenSource #Source_Compilation #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Shayan GeeDook🐧
تا حالا به اول بعضی از فایلهای اسکریپت نگاه کردی و دیدی این دوتا کاراکتر مرموز #! اون بالا نشستن؟
مثل این:
#!/bin/bash
خب، این همون Shebang معروفه.
ترکیبی از # و ! که کنار هم تبدیل میشن به یه خط جادویی تو دنیای یونیکس و لینوکس!
ماجرا برمیگرده به دهه ۸۰ میلادی، وقتی که سیستمعاملهای شبهیونیکس داشتن رشد میکردن و توسعهدهندهها نیاز داشتن بدونن یه اسکریپت با چه برنامهای باید اجرا بشه.
توی سیستمعاملهای یونیکسی، وقتی شما یه فایل رو قابل اجرا (chmod +x) میکنی و سعی میکنی اجراش کنی، سیستم باید بفهمه این فایل توسط چه تفسیری (interpreter) اجرا بشه. Bash؟ Python؟ Perl؟ Node؟
اینجاست که shebang وارد میشه.
این خط اول فایل، به سیستمعامل میگه: «اگه خواستی این فایل رو اجرا کنی، با این برنامه اجراش کن!»
مثال:
#!/usr/bin/python3
print("Hello, world!")
این یعنی اجراش با مفسر پایتون نسخه ۳.
واژهی "Shebang" ترکیبیه از:
sh → اشاره به sh که همون Unix shell اولیه بوده
bang → اسمی قدیمی برای کاراکتر !
بنابراین #! میشه: "sh-bang"
(البته بعضی جاها بهش hashbang یا pound-bang هم میگن)
✨ قابل حمل بودن: یه اسکریپت با روی هر سیستم یونیکسی کار میکنه، بدون اینکه بدونی کدوم شله🛠 کنترل بیشتر: میتونی دقیقاً مشخص کنی با کدوم نسخه از مفسر اجرا بشه (مثلاً #!/usr/bin/env python3)💻 استاندارد بودن: خیلی از ابزارها و سیستمها به خط اول فایل حساسن. اگه درست نباشه، ممکنه اسکریپت اجرا نشه
#!/usr/bin/env python3
اینجوری سیستم خودش مسیر Python 3 رو از متغیرهای محیطی پیدا میکنه. برای پورتابل بودن خیلی بهتر از مسیرهای مستقیمه.
با اینکه این مفهوم برای لینوکسیها و برنامهنویسها بسیار مهمه، توی ویکیپدیای فارسی هنوز صفحهای به اسم Shebang یا #! وجود نداره!
وقتشه که یکی اینو به فارسی بنویسه — شاید تو باشی!
#Shebang #Linux #Unix #اسکریپت #Bash #Python #DevTips #Geedook #OpenSource
github
Wikipedia (EN) - Shebang (Unix)
stackoverflow
Linux Handbook - What is Shebang
Shayan-GeeDook
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
free-programming-books/books/free-programming-books-langs.md at main · EbookFoundation/free-programming-books
:books: Freely available programming books. Contribute to EbookFoundation/free-programming-books development by creating an account on GitHub.