انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: 🇬🇧بریتانیای کبیر🇬🇧 در 07 تیر 1403، 09:41 ق‌ظ

عنوان: وقتی وارد محیط دستوراتی مثل cat میشیم چی میگیم؟
ارسال شده توسط: 🇬🇧بریتانیای کبیر🇬🇧 در 07 تیر 1403، 09:41 ق‌ظ
درود.
دستوراتی مثل cat, uniq, head و ... رو اگه بدون آرگومنت(مثلا etc/passwd/) بزنیم وارد محیطی میشیم که میشه ورودی هارو برای اون دستورات تایپ کرد. بعد تا ctrl+d نزنیم از این محیط خارج نمیشیم. تقریبا شبیه  EOF>>
مثلا بزنید catبه این حالت چی میگیم؟ وارد خط فرمان cat شدم؟ وارد محیط cat شدم؟ وارد محیط خط فرمان cat شدم؟ وارد دستور cat شدم؟  چی کار کردم؟ وارد کجا شدم؟ اسم این اصطلاحش چیه؟
عنوان: پاسخ : وقتی وارد محیط دستوراتی مثل cat میشیم چی میگیم؟
ارسال شده توسط: abc در 07 تیر 1403، 11:23 ق‌ظ
وقتی cat رو خالی بزنی فکر نکنم وارد محیط خاصی بشی. فقط یه چیزی می‌شه شبیه echo که هر چی می‌نویسی همون رو برمی‌گردونه. دقیقا از این حالت چه استفاده‌ای می‌کنی؟ :D
عنوان: پاسخ : وقتی وارد محیط دستوراتی مثل cat میشیم چی میگیم؟
ارسال شده توسط: جادی در 07 تیر 1403، 04:35 ب‌ظ
اکثر دستورات یونیکسی، ورودی شون رو از «ورودی استاندارد» می گیرن.تو ممکنه ورودی استاندارد رو با استفاده از پایپ ( | ) از یه دستور دیگه دستور بعدی پایپ کنی. ممکنه با > از طریق یه فایل اونو به دستورت بدی یا موقع اجرای دستور بهش ورودی استاندارد معرفی نکنی. در حالت آخر، دستور چون می خواد ورودی بخونه، ورودی استاندارد (که در این حالت کیبرد تو است) رو باز می کنه و ورودی مورد نظرش رو می خونه.
عنوان: پاسخ : وقتی وارد محیط دستوراتی مثل cat میشیم چی میگیم؟
ارسال شده توسط: محمد رضا لامعی در 07 تیر 1403، 09:37 ب‌ظ
اینا یه سری نرم افزار هستن در واقع و اون ورودی ها در متد main وارد میشن
نمونه c++
#include <iostream>

using namespace std;
int main( int argc,      // Number of strings in array argv
          char *argv[],   // Array of command-line argument strings
          char *envp[] )  // Array of environment variable strings
{
    int count;

    // Display each command-line argument.
    cout << "\nCommand-line arguments:\n";
    for( count = 0; count < argc; count++ )
         cout << "  argv[" << count << "]   "
                << argv[count] << "\n";
}

نمونه سی شارپ

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            if (args[0].ToUpper() == "ls".ToUpper())
            {
                foreach (var c in Directory.GetDirectories(Directory.GetCurrentDirectory()))
                {
                    Console.WriteLine(c);
                }
            }
            else
            {
                Console.WriteLine("invalid command!");
            }
        }
    }
}

دستور اجرا برای نمایش لیست دایرکتوری ها در اپی که با سی شارپ نوشته شده

ConsoleApp1\ConsoleApp1\bin\Debug\net8.0>ConsoleApp1.exe ls

یه برنامه ای نوشتم که وقتی اجرا میشه اگه ورودی مورد نظر رو بدی لیست فولدر هارو چاپ میکنه در غیر این صورت ارور میده.
حالا میتونست ورودی نداشته باشه یا حتی اسمش همون ls باشه!

همین دستور ls رو که یه برنامه هست رو میتونی از مسیر /usr/bin پیدا کنی

اونم حالت خاصی نیست فقط برنامه ls یا cat اجرا میشن و برنامه شروع به کار میکنه و  مثلا میبینه هیچی وارد نکردید و ازتون میخاد مثلا پسورد رو وارد کنید.