বাশে শেষ বার্তায় স্ক্রোল করতে টার্মিনাল এড়াতে কীভাবে?


2

আমি একটি বাশ স্ক্রিপ্ট লিখি যা নতুন টার্মিনালে কিছু অন্যান্য কমান্ড চালায়:

#!/bin/bash
# Sample script
gnome-terminal --title="blah blah" -x bash -c ffmpeg -i udp://239.1.2.1:60001?fifo_size=50000000 -acodec copy -vcodec copy -preset ultrafast \
-flags -global_header -f hls -hls_time 20 -hls_wrap 5 /var/www/html/ts/1.m3u8 &

sleep 1

gnome-terminal --title="blah blah" -x bash -c ffmpeg -i udp://239.1.2.2:60002?fifo_size=50000000 -acodec copy -vcodec copy -preset ultrafast \
-flags -global_header -f hls -hls_time 20 -hls_wrap 5 /var/www/html/ts/2.m3u8

প্রতিটি ffmpegলাইনের আউটপুট একাধিক পৃষ্ঠার এবং এটি এর অনুরূপ:

libavutil      54.  7.100 / 54.  7.100
  libavcodec     56.  1.100 / 56.  1.100
  libavformat    56.  4.101 / 56.  4.101

  ... many pages after ....

[h264 @ 0xc04c60] decode_slice_header error
[h264 @ 0xc04c60] no frame!
[h264 @ 0xc04c60] non-existing PPS 0 referenced

.... many pages after .... 

  Program 105 
    Metadata:
      service_name    : IRIB-TV5
      service_provider: IRIB
[adts @ 0xf943e0] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
Output #0, hls, to '/home/stream/Desktop/tst/1.m3u8':
  Metadata:
    encoder         : Lavf56.4.101
    Stream #0:0: Video: h264 (libx264), yuv420p, 720x576 [SAR 12:11 DAR 15:11], q=-1--1, 25 fps, 90k tbn, 25 tbc
    Metadata:
      encoder         : Lavc56.1.100 libx264
    Stream #0:1(per): Audio: aac, 48000 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : Lavc56.1.100 aac
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac_latm (native) -> aac (native))
Press [q] to stop, [?] for help
[h264 @ 0xf42120] reference picture missing during reorder
[h264 @ 0xf42120] Missing reference picture, default is 65716
[h264 @ 0xf42120] reference picture missing during reorder
[h264 @ 0xf42120] Missing reference picture, default is 65717

যখন আমি এই স্ক্রিপ্টটি একটি নতুন টার্মিনালে চালিত করি এবং আমি কমান্ডটি চালু করি (এই ক্ষেত্রে ffmpeg), এটি অবিলম্বে অনেকগুলি আউটপুট লাইন, অনেক পৃষ্ঠা প্রদর্শন করে এবং স্বয়ংক্রিয়ভাবে শেষ বার্তায় যায় ...

টার্মিনালের প্রথম বার্তায় আমি কীভাবে উপরে এবং নীচে স্ক্রোল করতে পারি বা এটি প্রথম পৃষ্ঠায় থামাতে পারি?


ঠিক আছে এখন এটি অন্য প্রশ্ন। প্রথম পৃষ্ঠার পরে আউটপুটটি ব্যবহার | more বা | lessথামানোর জন্য (তারপরে আপনাকে এন্টার টিপতে হবে ... উদাহরণgnome-terminal --title="blah blah" -x bash -c ' find ~ | less'
হাস্তুর

এবং শেষ পৃষ্ঠায় যাওয়ার জন্য আমাকে কী করতে হবে?
আলী

আপডেটের উত্তর নিচে দেখুন অথবা আপনার কম্পিউটারের তে অনুসন্ধান man lessবা man more
হাস্তুর

পারফেক্ট ... অনেকটা tnx
আলী

আপনাকে স্বাগতম. আমি আপনার পাঠ্য আরও পরিষ্কার করার চেষ্টা করেছি। আপনাকে আবার সম্পাদনা করতে বা পরিবর্তনগুলি "রোলব্যাক" করতে নির্দ্বিধায় মনে হয় । বিটিডব্লিউ প্রথম বার্তাটি টার্মিনালে আরও লুকানো (আরও বেশি) শেষটি নয়: এর জন্য আপনাকে বুঝতে অসুবিধা হয়েছিল ... :-) PS> সুপার ইউজারে আপনাকে স্বাগতম।
হাস্তুর

উত্তর:


1

এর পরে আপডেটটি পুরোপুরি সংস্কার করা হয়েছে:

আপনি প্রথম পৃষ্ঠার পরে আউটপুটটি ব্যবহার করতে | moreবা | lessথামাতে পারেন ।

 gnome-terminal --title="blah blah" -x bash -c  ' find  ~  | less'

দ্রষ্টব্য : আপনার ''ব্যাশ কমান্ডগুলি কোথায় শেষ করে তা বলার জন্য আপনাকে প্রয়োজন ।
এর মধ্যে lessআপনি স্থানান্তর করতে পারেন:

  • Homeএবং Endপৃষ্ঠার শুরু এবং শেষ পর্যন্ত।
  • PgUpএবং PgUpএক পৃষ্ঠা নীচে বা উপরে।
  • Upএবং Dnএক লাইন উপরে বা নীচে।

আপনার স্ক্রিপ্টের একটি লাইন এর অনুরূপ হতে পারে

gnome-terminal --title="blah blah" -x bash -c                                 \
'ffmpeg -i udp://239.1.2.1:60001?fifo_size=50000000 -acodec copy -vcodec copy \
-preset ultrafast -flags -global_header -f hls -hls_time 20 -hls_wrap 5       \
/var/www/html/ts/1.m3u8 | less ' &

কিছু শর্টকাট রয়েছে:

  • Ctrl+ Shift+ Upবা Dnএকটি লাইনের উপরে বা নীচে স্ক্রোল করতে
  • Shift+ PgUpবা PgDnকোনও পৃষ্ঠার উপরে বা নীচে স্ক্রোল করতে
  • Shift+ Homeবা Endশুরু পর্যন্ত বা শেষ অবধি স্ক্রোল করতে

আপনি জিনোম সহায়তা পৃষ্ঠায় সরাসরি অন্যান্য শর্টকাট সম্পর্কে পড়তে পারেন


তবে আমি এটি বাশে করতে চাই, উদাহরণস্বরূপ আমার কূমন্ডের শেষে ... এটি কি সম্ভব?
আলী

আমি এটি ভুল বুঝেছি (আপনার দুর্দান্ত সংস্করণটি আরও পরিষ্কার হতে পারে ;-)): আপনার আদেশে একটি | lessবা যুক্ত করুন | more। উদাহরণ tree . | less। বিটিডাব্লু এটি স্টডআউটকে পুনর্নির্দেশ করে। আপনি যদি স্টেডারকেও পুনর্নির্দেশ করতে চান তবে আপনাকে স্পষ্টভাবে লিখতে হবে। (উদাহরণ tree . 2>&1 | less ) এটি কি আপনার সমস্যার সমাধান করে?
হাস্তুর

আমি ডিভিবি্লাস্ট ব্যবহার করি (সরাসরি টিভি স্ট্রিমিংয়ের জন্য একটি প্রোগ্রাম) ... আমি 10 টি চ্যানেলের জন্য 10 বার ডিভিব্লাস্ট শুরু করি ... যখন আমি ডিভিব্লাস্ট শুরু করি তখন এটি টার্মিনালে অনেকগুলি ম্যাসেজ দেখায় এবং আমি শেষ বার্তাটি দেখতে চাই ... আমি ডিভিবিস্টকে সাথে চালনা করি যে প্রশ্নটি আমি প্রশ্নে বলেছিলাম এবং আমি সেই
আলী

2
@ কম্বো_সি আমার প্রিয় আপনি 3 য় বার আপনার প্রশ্ন পরিবর্তন করেছেন ... এখন আপনি একটি আলাদা প্রশ্ন জিজ্ঞাসা করছেন (এবং একটি নির্দিষ্ট প্রশ্ন)। জিজ্ঞাসা করার পদ্ধতিটি পড়তে কিছুক্ষণ সময় নিন । এটি আপনাকে আপনার প্রয়োজনীয় উত্তর এবং অনিচ্ছুক প্রশ্নের উত্তর দেওয়ার জন্য সময় নষ্ট করা এড়াতে সহায়তা করবে। বাক্তিগত কিছু না. বিটিডাব্লু একটি সাধারণ আউটপুট, পছন্দসই আউটপুট এবং তথ্য যুক্ত করে আরেকটি প্রশ্ন করে যদি আপনি dvblastএকই শেল থেকে সমস্ত 10 চালান ...
হস্তুর

উত্তরের জন্য টিএনএক্স তবে আমি মনে করি যে আমার প্রশ্নটি পরিষ্কার ... আমি বাশ থেকে টার্মিনাম চালাচ্ছি ... টার্মিনালের আউটপুট খুব লাইন যা কোনও পেজে প্রদর্শিত হয় না .... আমি টার্মিনালটিকে শেষ বার্তায় নামতে বাধ্য করতে চাই ... এটি সামঞ্জস্য করুন
আলী
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.