সর্বাধিক সংক্ষিপ্ত - পদ্ধতি # 4 এবং # 3, উভয়ই ফাংশনে রূপান্তরিত হতে পারে; # 2 আমার প্রিয় - awk। # 1 scriptকমান্ড ব্যবহার করে - খুব বহুমুখী সরঞ্জাম, সাধারণভাবে কমান্ড লাইন রেকর্ড করার জন্য দরকারী; আপনি যে কোনও রেকর্ড করতে চান তার জন্য যে কোনও জায়গায় প্রযোজ্য।
পদ্ধতির # 1:/usr/bin/script কমান্ড-লাইন আউটপুট রেকর্ড করার জন্য
একটি কমান্ড রয়েছে (যা পূর্বনির্ধারিতভাবে উবুন্টু সহ আসে) যা প্রম্পট এবং কমান্ডের সাথে সমস্ত কিছু ক্যাপচার করে। একটি নির্দিষ্ট কমান্ড এবং তার আউটপুট কেবল নির্দিষ্ট ফাইলে সংরক্ষণ করতে -cপতাকা ব্যবহার করুন এবং আউটপুট ফাইল নির্দিষ্ট করুন। উদাহরণ
xieerqi:$ script -c 'apt-cache depends gnome-terminal' outputFile.txt
Script started, file is outputFile.txt
gnome-terminal
Depends: gconf-service
gconf-service:i386
Depends: libatk1.0-0
Depends: libc6
Depends: libgconf-2-4
Depends: libgdk-pixbuf2.0-0
(extra output omitted)
Script done, file is outputFile.txt
xieerqi:$ cat outputFile.txt
Script started on 2015年10月22日 星期四 08时58分46秒
gnome-terminal
Depends: gconf-service
gconf-service:i386
Depends: libatk1.0-0
Depends: libc6
Depends: libgconf-2-4
(extra output omitted)
Script done on 2015年10月22日 星期四 08时58分46秒
পদ্ধতির # 2: অ্যাডকে হ্যাকারি ery
আওকের system()ফাংশন রয়েছে যা আপনাকে স্ক্রিপ্ট বা কমান্ড থেকেawk শেল কমান্ড চালাতে দেয় । আউটপুট স্ক্রিনে প্রদর্শিত হবে, প্রথমে কমান্ড, পরবর্তী আউটপুট। আপনি যা দেখতে চান তা কোনও ফাইল >অপারেটরে পুনর্নির্দেশ করতে ।
এটি দুটি উপায়ে করা যেতে পারে - স্ট্যান্ডিন থেকে কমান্ড লাইন আর্গুমেন্ট হিসাবে স্টাফ ইনপুট করতে ব্যবহারকারীকে বলুন। প্রথমটি অর্জন করা সহজ, সুতরাং এটি পোস্ট করা ing
(1) awk 'BEGIN{ print "Enter command to run: "; getline com < "/dev/stdin"; system(com) }'
awk 'BEGIN{ print "Enter command to run: "; getline com < "/dev/stdin"; system(com) }'
Enter command to run:
apt-cache depends gnome-terminal
gnome-terminal
Depends: gconf-service
gconf-service:i386
Depends: libatk1.0-0
Depends: libc6
Depends: libgconf-2-4
Depends: libgdk-pixbuf2.0-0
Depends: libglib2.0-0
(extra output omitted)
(2) কমান্ড লাইন আরগস সংস্করণ; উত্তর দীর্ঘায়িত করা এড়াতে আউটপুট সহ নয়। আবার, >ফাইলটিতে পুনর্নির্দেশের জন্য সংযোজন করুন
awk 'BEGIN{for (i=1; i<= ARGC; i++) myString = myString" "ARGV[i]; print myString; system(myString) }' apt-cache depends gnome-terminal
পদ্ধতির # 3: আপনার জন্য কাজ করতে বাশকে জিজ্ঞাসা করুন
xieerqi@eagle:~$ bash -c ' MYCOMMAND="apt-cache depends gnome-terminal"; echo $MYCOMMAND ; $MYCOMMAND '
apt-cache depends gnome-terminal
gnome-terminal
Depends: gconf-service
gconf-service:i386
Depends: libatk1.0-0
Depends: libc6
Depends: libgconf-2-4
Depends: libgdk-pixbuf2.0-0
Depends: libglib2.0-0
>অপারেটরের সাথে ফাইলে পুনঃনির্দেশ করুন :
bash -c ' MYCOMMAND="apt-cache depends gnome-terminal"; echo $MYCOMMAND ; $MYCOMMAND ' > output.txt
পদ্ধতির # 4: (আমার দ্বিতীয় পছন্দ)
বাইটকম্যান্ডারের পোস্ট থেকে অনুপ্রাণিত; আমরা readসাবশেলে প্রয়োজনীয় কমান্ড ব্যবহার করতে পারি এবং তারপরে চালাতে পারি
read command && (printf "COMMAND: %s" "$command";printf "\n+++++++\n"; sh -c "$command")
নমুনা রান:
xieerqi:$ read command && (printf "COMMAND READ: %s" "$command";printf "\n+++++++\nOUTPUT\n"; sh -c "$command")
printf "This was a triumph; I'm making a note here - huge success"
COMMAND READ: printf "This was a triumph; I'm making a note here - huge success"
+++++++
OUTPUT
This was a triumph; I'm making a note here - huge success
পদ্ধতির # 5:
মাধ্যমে যুক্তি সরবরাহ করতে echoবা here string(ওরফে <<< "string") ব্যবহার করুনsh -cxargs
xieerqi:$ echo "apt-cache policy gnome-terminal" | xargs -I {} bash -c 'echo {}; {}'
apt-cache policy gnome-terminal
gnome-terminal:
Installed: 3.6.2-0ubuntu1
Candidate: 3.6.2-0ubuntu1
Version table:
*** 3.6.2-0ubuntu1 0
500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
এবং আপনি যদি চান তবে আপনি এই একই কৌশলটি একটি উপাধির সাহায্যে ব্যবহার করতে পারেন:
xieerqi:$ printAndRun <<< "apt-cache policy gnome-terminal"
apt-cache policy gnome-terminal
gnome-terminal:
Installed: 3.6.2-0ubuntu1
Candidate: 3.6.2-0ubuntu1
Version table:
*** 3.6.2-0ubuntu1 0
500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
xieerqi:$ type printAndRun
printAndRun is an alias for 'xargs -I {} bash -c "echo {}; {}"'