সাধারণ স্ক্রিপ্টগুলির জন্য / usr / স্থানীয় / বিনের অ-sudo বিকল্প


16

আমি সাধারণ স্ক্রিপ্টগুলি এতে রাখার অভ্যস্ত /usr/local/binহয়েছি যাতে আমি এগুলি টার্মিনালের সাথে যে কোনও জায়গা থেকে চালাতে পারি।

উদাহরণস্বরূপ, আমি একটি শেল স্ক্রিপ্ট নামে করা 1, এটা এক্সিকিউটেবল সঙ্গে করা chmod +x 1এবং এটা করা /usr/local/bin, এবং স্ক্রিপ্ট আমি টাইপ ভিতরে #!/bin/shপ্রথম লাইনে, এবং তারপর আমার আদেশ। সেখান থেকে এটি খুব সহজেই ব্যবহারযোগ্য এবং টাইপ করে সম্পাদন করার জন্য দ্রুত

1Enter

টার্মিনালে, যে কোনও ফোল্ডারের ভিতরে থেকে।

আমার সমস্যাটি হ'ল আমি বর্তমানে এমন একটি কম্পিউটারে কাজ করছি যেখানে করতে পারে না sudoএবং আমি এটি পাওয়ারও আশা করতে পারি না, তাই আমি আমার স্ক্রিপ্টটি এতে রাখতে পারি না /usr/local/bin

আমার বিকল্পগুলি কি? একই "অন্য কোথাও থেকে চালানো" সামর্থ্য সহ অন্য কোনও পথ রয়েছে, যা আমি ছাড়া অ্যাক্সেস করতে পারি sudo, বা সমমানের কিছু অর্জনের অন্য কোনও উপায়?

এই পোস্টে গৃহীত উত্তর বলে

ব্যবহারকারী-স্কোপ স্ক্রিপ্টগুলির জন্য, আপনার হোম ডিরেক্টরিতে বিন / ব্যবহার করুন।

যা আমি চেষ্টা করেছি, তবে binআমার হোম ডিরেক্টরিতে কোনও ফোল্ডার নেই এবং যখন আমি একটি তৈরি করেছি, তখনও আমি অন্য কোথাও থেকে স্ক্রিপ্টটি চালাতে পারিনি।

আমি উবুন্টু 12.04 এলটিএসে চলছে।


2
স্ক্রিপ্টের নাম হিসাবে 1 বা এর মতো কিছু ব্যবহার করবেন না। আপনার শেল কিছু নিরূপণ করা চেষ্টা করুন: যেমন, expr 1 + 1 টি (এবং যদি না আপনি তা করছেন, কিছু স্ক্রিপ্ট নিশ্চিত কিছু সময়ে এটা করতে হবে)
frlan

1
@ ফ্রলান: expr 1 + 1নামের স্ক্রিপ্টের উপস্থিতি দ্বারা কীভাবে প্রভাবিত হবে 1?
শ্রদ্ধেয়

সত্য ... প্রভাবিত করছে না expr, বাশ পাটিগণিতও নয় $(( 1 + 1 ))
ক্যাম্পা

উত্তর:


19

আমার বিকল্পগুলি কি? একই "কোথাও থেকে চালানো" সক্ষমতার সাথে অন্য কোনও পথ রয়েছে, যা আমি সুডো ছাড়াই অ্যাক্সেস করতে পারি, বা সমমানের কিছু অর্জনের জন্য অন্য কোনও উপায়?

এটা কিভাবে করতে হবে?

আপনার স্ক্রিপ্টগুলি সাধারণত binকনভেনশন হিসাবে নাম হিসাবে ধরে রাখার জন্য আপনার বাড়িতে কিছু দির তৈরি করুন ।

mkdir ~/bin

এখন আপনার স্ক্রিপ্টগুলি বিনে সরান

mv somescript ~/bin

এখন এখান থেকে কীভাবে সুর তৈরি করা যায় ?!

আপনাকে binPATH এ যুক্ত করতে হবে

আপনার খুলুন .bashrc

gedit .bashrc

এবং এই লাইন যুক্ত করুন:

export PATH=$PATH:/home/username/bin

usernameআপনার ব্যবহারকারীর নামের সাথে প্রতিস্থাপন করতে ভুলবেন না

সংরক্ষণ করুন এবং প্রস্থান করুন, তারপরে বাশার্কটি উত্স করুন

source .bashrc

এবং এখন আপনি ভাল আছেন, আপনি যেমন করতেন তেমন স্ক্রিপ্ট চালাতে পারবেন! তবে আপনাকে খেয়াল করতে হবে এটি কেবল আপনার ব্যবহারকারীর সাথে সম্পর্কিত।

দ্রষ্টব্য: আপনার স্ক্রিপ্টগুলির নাম 1, 2 ব্যতীত অন্যটির নামকরণ করা ভাল কারণ আপনি সেই নামগুলি নিয়ে কিছু সমস্যার মুখোমুখি হতে পারেন


হালনাগাদ:

আপনি শুধু তারপর আপনার বাড়িতে বিন Dir তৈরি একই কাজ করতে পারেন source ~/.profileপরিবর্তে ~/.bashrc। আপনার PATH এ ~ / বিন যোগ করার পরে ইতিমধ্যে তালিকাভুক্ত.profile

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

আমি ব্যবহার করি export PATH=$PATH:$HOME/binতাই আমি বিভিন্ন ব্যবহারকারীর নাম সহ অন্যান্য অ্যাকাউন্টের জন্য একই বাশার্ক ব্যবহার করতে পারি।
অ্যান্টনি জি - মনিকার পক্ষে

1
শুধু উল্লেখ করতে ~/bin হয় $PATHউবুন্টু ডিফল্টরূপে। source ~/.profileআপনি ডিরেক্টরি তৈরি করার পরে কেবল চালনা করুন বা লগ আউট করুন।
জ্যাকব ভিলিজম

@ জ্যাকবভিলিজম কোন সংস্করণে? !!! আমি 12.04, 14.04, 15,04 ব্যবহার এবং তাদের কেউ PATH- এ ~ / বিন হয়েছে
Maythux

ইন সব তাদের, আমি সবসময় এটি ব্যবহার, আমার (স্বীকৃত) উত্তর অনেক পাশাপাশি, কখনও যে কোনো মন্তব্য, পাশাপাশি পাঁচটি সিস্টেমে বাড়ীতে তার কাজ করে, পেয়েছিলাম কিন্তু, যেমন বললেন চলমান পরে source ~/.profile। (উদাহরণস্বরূপ) এখানে দেখুন: Askubuntu.com/a/247422/72216
জ্যাকব ভ্লিজম

1
তিনি সূত্রটি~/.profile~/.bashrc বলেছেন , তিনি কখনও উত্স বলেননি :) এছাড়াও, একটি সাধারণ নিয়ম অনুযায়ী, পরিবেশগত ভেরিয়েবল যেতে হবে মধ্যে .profileএবং .bashrcযেহেতু তারা শুধুমাত্র একবার সেট আপ করা প্রয়োজন। (এর
কোনওটিই

4

Https://askubuntu.com/a/643030/218015 ছাড়াও আপনি ছোট। প্রায়শ ব্যবহৃত ব্যবহৃত কাজের জন্য আপনার .bashrc এর অভ্যন্তরে একটি উপনাম সংজ্ঞায়িত করতে পারেন। যেমন

alias ll='ls -l'
alias ls='ls --color=auto'

আপনাকে একটি "কমান্ড" এলএল তৈরি করবে, যা এলএস-এল করছে এবং এলএসের নাম নির্ধারণের পরে রঙিন হবে। https://wiki.ubuntuusers.de/alias এর সেট আপ করার জন্য আরও কয়েকটি উদাহরণ এবং একটি হাউটো রয়েছে।

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