আমার লিনাক্স সিস্টেমটি আমি যে সমস্ত কমান্ডটি টাইপ করি তা পুনরাবৃত্তি করছে?


55

আমি একটি উবুন্টু লিনাক্স সিস্টেম ব্যবহার করছি এবং আমি যে প্রতিটি কমান্ড প্রবেশ করি তা পরবর্তী লাইনে প্রদর্শিত হবে এবং তারপরে কমান্ডের আউটপুট উপস্থিত হবে। উদাহরণ স্বরূপ:

root@dpkube165:~# ls
ls  <--- why is this here?
Desktop  Documents  Downloads 

root@dpkube165:~# date
date  <--- or this?
Mon Mar 19 11:24:59 EDT 2018

root@dpkube165:~# echo "Hello, world!"
echo "Hello, world!" <--- or this?
Hello, world!

আমি ভেবেছিলাম এটির সাথে প্রম্পটটি করা যেতে পারে যা নীচে (পিএস 1) রয়েছে:

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

তবে তাড়াতাড়ি অব্যাহতি সিকোয়েন্সগুলিতে অনলাইনে গাইড পর্যালোচনা করা সুস্পষ্ট কিছুতে পরিণত হয়নি।


20
আপনি রুট হিসাবে লগ ইন করা আছে। যে না!
টবি স্পিড

5
হ্যাঁ, আমি বেশিরভাগ সময় শিকড় এড়াতে জানি। এটি নিক্ষেপকারী পরীক্ষার পরিবেশের কোনও ভিএম-তে রয়েছে যেখানে রুট প্রয়োজন।
চাদ

9
@ টবিস্পাইট এটি হ্যাকেন, রোট পরামর্শ।
রেক্যান্ডবোনম্যান

2
@ টবিস্পাইট গুরুতরভাবে, এটিকে নিখুঁত নিয়ম হিসাবে ঠেলে দেবেন না। আমাকে বলুন, sudo -iরুট-লেভেল কমান্ডের একটি সিরিজ চালানোর জন্য কী দোষ হয়েছে ? বিশেষত যখন আমি কোনও ডিবাগ করছি?
ডানকান এক্স সিম্পসন

2
@ টবিস্পাইট যদি আপনার ব্যাখ্যা করার সময় না পান তবে কম্বলটি "পরামর্শ" দেবেন না যা প্রায়শই অসহনীয়।
টিম

উত্তর:


89

দেখে মনে হচ্ছে আপনি -vসেট করেছেন (কিছু চলছে set -v)।

এটির বিপরীতে, চালান set +v

set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]
set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]
       Without  options, the name and value of each shell variable are displayed in a
       format that can be reused as input for setting or resetting the currently-set
       variables. Read-only variables cannot be reset. In posix mode, only shell
       variables are  listed. The output is sorted according to the current locale.
       When options are specified, they set or unset shell attributes. Any arguments
       remaining after option processing are treated as values for the positional
       parameters and are assigned, in order, to $1, $2, ...  $n.  Options, if
       specified, have the following meanings:

[...]

-v      Print shell input lines as they are read.

দেখুন bashর manpage ( "অধীনে শেল Builtin কমান্ড সম্পর্কে আরও তথ্যের জন্য" বিভাগে) setবিল্ট-ইন কমান্ড।

সহায়তা পাঠ্যে আরও সরাসরি অ্যাক্সেসের জন্য বিকল্পভাবে help setঅভ্যন্তরীণ থেকে চালান bash


11
হাঁ! খনন করার জন্য কিছুটা সুবিধাজনক বিকল্প হিসাবে man bashআপনি এটিও করতে পারেন help set
রেভ্রন

5
আপনি কিংবদন্তি ... আমি bashম্যানপেইজে স্ক্রোলিংয়ের সময়টি কাটিয়েছি ... ধন্যবাদ!
Attié

1
আমার কোনও ব্যাশ শুরু করার পরে আমার প্রথম কমান্ডটি সর্বদা হয় set -o vi। যেটি ভুল করুন set -oviএবং আপনি উপরের আচরণটি পাবেন।
গুট্রাম ব্লহম

কেন - আমার সন্দেহ হবে যে এখানে একটি স্ক্রিপ্ট উত্সাহিত হয়েছে (যেমন "। .srciptname" কেবল "./scriptname" এর পরিবর্তে ") যা এটি আনসেট -v এর আগে উপস্থিত হয়, অর্থাৎ শেষে এটি" সেট + ভি "হওয়া উচিত
jmullee

2
BTW, আমি খুঁজে set -x, লগিং বা নিয়ন্ত্রণ-প্রবাহ আর অন্য কিছুর ডিবাগিং করার জন্য আরো উপযোগী করা হয়েছে কারণ এটি ভেরিয়েবল বিস্তৃতি দেখানোর জন্য কি কমান্ড হয় আসলে , চালানো হচ্ছে যেমন echo fooপরিবর্তেecho $my_string
পিটার Cordes

11

কমপক্ষে 4.3 বাশ-এ, এই আদেশটি এর সাথে একই রকম প্রভাব ফেলে set -v:

trap 'echo "$BASH_COMMAND"' DEBUG

এটি আপনাকে প্রভাবিত করে কিনা তা পরীক্ষা করতে, চালান

trap -p DEBUG

এটি আনসেট করতে, চালান

trap - DEBUG
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.