انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: سودو. در 25 دی 1400، 09:23 قظ
-
سلام عزیزان ، امکانش هست که خروجی دستورات رو هم بشه یا بصورت منطقی یا با ترفندی چیزی شخصی سازی کرد ؟
مثلا دستور زیر :
sudo apt update
خروجیش اینه :
[sudo] password for alireza:
Hit:1 http://archive.ubuntu.com/ubuntu impish InRelease
Hit:2 http://archive.ubuntu.com/ubuntu impish-updates InRelease
Hit:3 http://archive.ubuntu.com/ubuntu impish-backports InRelease
Hit:4 http://archive.ubuntu.com/ubuntu impish-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
میخوام این باشه :
Password ?
Checking Repositors
Packages Updated
یعنی مثلا اگر خط اول رو دید ! پاک کنه خط اول منو بنویسه ! خط دوم تا یکی مونده به آخر رو دید ! پاک کنه و خط دوم منو جایگزین کنه الی آخر !
چنین چیزی ممکنه ؟
-
با برنامه نویسی میتونید این کار رو کنید.
-
با برنامه نویسی میتونید این کار رو کنید.
یعنی ترفندی چیزی وجود نداره ؟
-
با برنامه نویسی میتونید این کار رو کنید.
یعنی ترفندی چیزی وجود نداره ؟
نه. باید برنامه نویسیش کنید، نوشتنش کار سختی نیست. اما میتونید خروجی رو مخفی کنید یا خروجی رو بدید به less تا متن رو بصورت scroll در بیاره و با زدن کلید q ازش خارج بشید یا اینکه برید کد منبع apt رو ویرایش کنید. :)
-
با برنامه نویسی میتونید این کار رو کنید.
یعنی ترفندی چیزی وجود نداره ؟
نه. باید برنامه نویسیش کنید، نوشتنش کار سختی نیست. اما میتونید خروجی رو مخفی کنید یا خروجی رو بدید به less تا متن رو بصورت scroll در بیاره و با زدن کلید q ازش خارج بشید یا اینکه برید کد منبع apt رو ویرایش کنید. :)
فقط برای apt نمیخوام ! برای همه دستورات میخوام ک خب برنامه نویسی میخواد !!! حیف ...
-
با این دستور میتونید لاین آخر خروجی رو به دست بیارید که فکر کنم همینم کفایت میکنه براتون:
ِYourCommand | tail -1
مثلا به جای این خروجی:
[sudo] password for alireza:
Hit:1 http://archive.ubuntu.com/ubuntu impish InRelease
Hit:2 http://archive.ubuntu.com/ubuntu impish-updates InRelease
Hit:3 http://archive.ubuntu.com/ubuntu impish-backports InRelease
Hit:4 http://archive.ubuntu.com/ubuntu impish-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
این خروجی رو بهتون میده:
[sudo] password for alireza:
All packages are up to date.
-
با این دستور میتونید لاین آخر خروجی رو به دست بیارید که فکر کنم همینم کفایت میکنه براتون:
ِYourCommand | tail -1
مثلا به جای این خروجی:
[sudo] password for alireza:
Hit:1 http://archive.ubuntu.com/ubuntu impish InRelease
Hit:2 http://archive.ubuntu.com/ubuntu impish-updates InRelease
Hit:3 http://archive.ubuntu.com/ubuntu impish-backports InRelease
Hit:4 http://archive.ubuntu.com/ubuntu impish-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
این خروجی رو بهتون میده:
[sudo] password for alireza:
All packages are up to date.
بعله میدونم ولی دیگه این شخصی سازی نیس که !
-
یا باید خود برنامه بتونه ایت تنظیمات رو از یه جایی بگیره یا اینکه با ریدایرکتها، ابزارها و پایپها، خروجی دستورات رو فیلتر کنید. در غیر اینصورت باید کد برنامه رو تغییر بدید.
در مورد apt، فکر کنم بشه با دادن آپشنها موقع اجرا یا تغییر تنظیماتش به یه نتیجههایی برسید.
-
یا باید خود برنامه بتونه ایت تنظیمات رو از یه جایی بگیره یا اینکه با ریدایرکتها، ابزارها و پایپها، خروجی دستورات رو فیلتر کنید. در غیر اینصورت باید کد برنامه رو تغییر بدید.
در مورد apt، فکر کنم بشه با دادن آپشنها موقع اجرا یا تغییر تنظیماتش به یه نتیجههایی برسید.
نمیشه مثلا بگیم با ریدایرکت بریزش توی فلان فایل بعد مقایسه کن محتواش رو با فلان فایل اگر یکی بود فلان عبارت رو پرینت کن ؟
یادمه شما از ی چیزی تحت عنوان if و fi در محیط ترمینال استفاده کردین در یک دستوری ! نمیشه برای بخش مقایسه از این استفاده کرد ؟
-
چرا میشه این کارها که میگید رو انجام داد ولی باید برای هر دستور، اینکار رو انجام بدید. یعنی برای هر دستوری که میخواهید، alias یا یه اسکریپت درست کنید. از اونجایی که خروجی دستورات با هم متفاوته، باید برای بیشتر دستورات اینکار رو انجام بدید.
-
چرا میشه این کارها که میگید رو انجام داد ولی باید برای هر دستور، اینکار رو انجام بدید. یعنی برای هر دستوری که میخواهید، alias یا یه اسکریپت درست کنید. از اونجایی که خروجی دستورات با هم متفاوته، باید برای بیشتر دستورات اینکار رو انجام بدید.
مشکلی نیس ! من تو این زمینه ها خیلی حوصله دارم ! اگه توضیح بدین برای یک از دستورات چجوری اینکارو انجام بدم خودم بقیشو میرم : )
-
؟
-
باید با توجه با دستوری که میخواهید، یه چیزهای درست بنویسید. استریپ نویسی با bash یا sh رو یاد بگیرید تا اینکار راحتتر بشه.
باید حالتهای مختلف خروجی یه دستور رو در نظر بگیرید. چیزی نیست که بگیم مثلا با 7 تا 8 صفحه بحث توی انجمن، به نتیجه کامل برسه.