সিগুইনের সাথে সি: in-তে কোনও ডিরেক্টরিতে কীভাবে নেভিগেট করবেন?


370

আমি পাইকিউটি 4 ইনস্টল করার চেষ্টা করছি যাতে এটির সাথে আমি গোলযোগ করতে পারি। ইনস্টলেশন গাইড বলেছে আমাকে সিপ ইনস্টল করতে হয়েছিল । সিপ ইনস্টল করার শেষ ধাপটি হ'ল make installকমান্ডটি ব্যবহার করা । উইন্ডোজের তেমন নেই, তাই আমি এটি সন্ধান করেছি এবং যা কিছু দেখেছি তা সাইগউইন ইনস্টল করার জন্য বলেছিল। তাই আমি. কিন্তু ... চুমুক ভিতরে আছে C:\Python31\sip

আমি কি এটি সাইগউইন কমান্ড থেকে চালাতে পারি? যদি তা হয় তবে আমি কীভাবে এটি করব?

বা আমি কি এটি সাধারণ উইন্ডোজ কমান্ড প্রম্পট থেকে চালাতে পারি? যদি তাই হয় তবে আমি কীভাবে এটি সম্পর্কে যাব?

উত্তর:



195

আমি এমন কিছু যুক্ত করব যা আমাকে সাইগউইন দিয়ে অনেক সাহায্য করে। যখনই কোনও নতুন সিস্টেম স্থাপন করবেন, আমি সর্বদা এটি করি

ln -s /cygdrive/c /c

এই সৃষ্টি সিম্বলিক লিঙ্ক থেকে /cygdrive/cনামক একটি নতুন ফাইল সঙ্গে /c(হোম ডিরেক্টরির মধ্যে)

তারপরে আপনি নিজের শেলটিতে এটি করতে পারেন

cd /c/Foo
cd /c/

খুব সহজ।


1
নোট করুন যে এটি ফাইলগুলি / ডিরেক্টরিগুলি cসাধারণত রেফারেন্স করার ক্ষমতা সহ নামকরণ করা থেকে আপনাকে বাধা দেয় ।
রাজ

1
আমি সম্প্রতি এমএসওয়াইএস 2 ইনস্টল করেছি এবং এটি পূর্বনির্ধারিত আচরণ ছিল, /cygdriveপ্রকৃতপক্ষে কাজ করছে না ...
joeeey


49

আপনি ইতিমধ্যে একটি উত্তর গ্রহণ করেছেন, তবে আমি কেবল ভেবেছিলাম যে আমি উল্লেখ করব যে নিম্নলিখিতটি সাইগউইনেও কাজ করে:

cd "C:\Foo"

আমি মনে করি cd /cygdrive/cপদ্ধতিটি আরও ভাল, তবে কখনও কখনও এটি আপনি এটিও করতে পারেন তা জেনে রাখা দরকারী।



6

আপনি সম্ভবত এটি প্রায়শই করতে চাইলে আপনার .bashrc ফাইলে এলিয়াস যুক্ত করুন, যেমন:

alias cdc='cd /cygdrive/c'
alias cdp='cd /cygdrive/p'

তারপরে আপনি কেবল কমান্ড লাইনে টাইপ করতে পারেন:

cdc

3

.Bashrc এ একটি ভেরিয়েবল সংজ্ঞায়িত করুন:

export C=/cygdrive/c

তাহলে আপনি ব্যবহার করতে পারেন

cd $C/

এবং ট্যাবটি সঠিকভাবে স্বয়ংক্রিয়ভাবে পূর্ণ হয় (দয়া করে শেষে / অন্তর্ভুক্ত করুন)


2

সম্পর্কিত নোটে, আপনি পছন্দ করতে পারেন:

shopt -s autocd

এটি আপনাকে কেবল dir টাইপ করে একটি dir সিডি করতে দেয়

[user@host ~]$ /cygdrive/d
cd /cygdrive/d
[user@host /cygdrive/d]$ 

অবিচ্ছিন্নভাবে তৈরি করা আপনার এটিতে যুক্ত করা উচিত ~/.bashrc



1

আপনার হোম ফোল্ডারে "ওভাররাইডব্যাশসিডিফোর্ড উইন্ডোপ্যাথস" নামে একটি ফাইল তৈরি করুন। নিম্নলিখিত ফাইলগুলি সেই ফাইলটিতে আটকান এবং সংরক্ষণ করুন:

#!/bin/bash

function cd() {
    CD_PATH="$(history | tail -1 | sed -e "s,.*${FUNCNAME[0]}\s*,,g")"

    if [ -z "${CD_PATH}" -o "${CD_PATH}" = "~" ]; then
        CD_PATH="${HOME}"
    fi

    builtin cd "$(cygpath "$CD_PATH")"
}

এরপরে, টার্মিনালে নীচের কমান্ডটি টাইপ করুন, আপনি নিজের হোম ফোল্ডারে থাকাকালীন:

echo ". overrideBashCdForWindowsPaths" >> .bashrc

আপনার টার্মিনালটি বন্ধ করুন এবং একটি নতুন খুলুন। আপনি সহজেই টাইপ করে সহজেই সেই উইন্ডোজ ফোল্ডারে পরিবর্তন করতে পারেন

cd C:\Python31\sip

স্ক্রিপ্টটি সর্বশেষ কমান্ডটি পড়ে, পথটি বের করে এবং এটিকে সাইগউইনের পাথ-রূপান্তর সরঞ্জামে প্রেরণ করে। "সিডি" ফাংশনটির নাম দিয়ে আমরা বাশের বিল্টিনকে "সিডি" বাছাই করে একে একে শেষ লাইনে আসল কলটি অর্পণ করি।


ধন্যবাদ @ কনিগগুনথার, এটি কার্যকর! ডিরেক্টরি পরিবর্তন করার জন্য যদিও কিছুটা ধীর। উদ্ধৃতি ব্যবহারের মতো দ্রুত করার কোনও উপায় আছে কি? যেমনcd "C:\Python31\sip"
user11392987

1

আমার পছন্দটি হ'ল: cd C:

লিনাক্স অনুভব করার মতো করে নিন:

ln -s /cygdrive/c/folder ~/folder

এবং এটি ব্যবহার করুন: ~/folder/..


0

এখানে কিছু উল্লেখ করার মতো বিষয় হ'ল সাইগউইনগুলি cygpathএখনও ব্যবধানযুক্ত উইন্ডোজ পাথগুলি সঠিকভাবে পরিচালনা করে না, বিশেষত সাইগউইনের অধীনে চলমান বাশ স্ক্রিপ্টগুলিতে। কৌশলটি বুঝতে হবে কীভাবেCygwin বাশ স্ক্রিপ্টগুলিতে উদ্ধৃতিগুলি ব্যাখ্যা করে।

নিম্নলিখিতগুলি কাজ করে না :

#!/bin/bash
TBDIR="/cygdrive/c/Program\ Files\ \(x86\)/MyDir/"

if [ -d "${TBDIR}" ]; then 
    echo "Found MyDir directory at: ${TBDIR}"
    cd "$TBDIR"
else 
    echo "MyDir program directory not found!"
    echo "Wrong DIR path: ${TBDIR}"
    exit 1
fi

তবে এটি কাজ করে:

#!/bin/bash
# Cygwin-ism: No quotes!
TBDIR=/cygdrive/c/Program\ Files\ \(x86\)/MyDir/

if [ -d "${TBDIR}" ]; then 
...

আমি যতদূর জানি, বর্তমানে কোনও ব্যবহারযোগ্য ব্যবহার নেই cygpath, যা ব্যাশ স্ক্রিপ্টিং প্রসঙ্গে সঠিকভাবে স্পেস পরিচালনা করতে পারে তবে আপনি আপনার স্ক্রিপ্টগুলিতে উদ্ধৃতি ব্যবহার করতে পারেন।


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