फ़ाइल मौजूद है, लेकिन किसी अन्य फ़ोल्डर से निष्पादित नहीं की जा सकती


0

मेरे फेडोरा 16 मशीन पर, मेरे पास 'WarpImageMultiTransform' नाम की एक निष्पादन योग्य फ़ाइल है, और जब मैं इसे फ़ोल्डर में शामिल करता हूं, तो मैं इसे चला सकता हूं:

[huangchao@localhost bin]$ ./WarpImageMultiTransform --help
Usage: 
./WarpImageMultiTransform ImageDimension moving_image output_image  -R reference_image --use-NN   SeriesOfTransformations--(See Below) 

लेकिन जब मैं इसे अन्य फ़ोल्डर से चलाने की कोशिश करता हूं, तो यह कहता है कि फ़ाइल मौजूद नहीं है:

[huangchao@localhost antsIntro]$  ls /home/huangchao/ANTs-1.9.x-Linux/bin/WarpImageMultiTransform
/home/huangchao/ANTs-1.9.x-Linux/bin/WarpImageMultiTransform
[huangchao@localhost antsIntro]$ ./home/huangchao/ANTs-1.9.x-Linux/bin/WarpImageMultiTransform --help
-bash: ./home/huangchao/ANTs-1.9.x-Linux/bin/WarpImageMultiTransform: No such file or directory

क्या किसी को पता है क्यों?

जवाबों:


4

.एक पथ की शुरुआत में इसका मतलब है कि पथ वर्तमान निर्देशिका के सापेक्ष है। /इसका मतलब है कि यह एक पूर्ण मार्ग है। यह आदेश:

ls /home/huangchao/ANTs-1.9.x-Linux/bin/WarpImageMultiTransform

निरपेक्ष निर्देशिका को सूचीबद्ध करता है। लेकिन आपका दूसरा आदेश:

./home/huangchao/ANTs-1.9.x-Linux/bin/WarpImageMultiTransform --help

मीन्स: " /home/huangchao/ANTs-1.9.x-Linux/bin/WarpImageMultiTransform मेरी वर्तमान निर्देशिका के लिए अपेक्षाकृत निष्पादित "। यह केवल तभी काम करेगा जब आपकी वर्तमान निर्देशिका /होगी, क्योंकि यह अवधि के बिना इसे कॉल करने के बराबर होगा।

आपको वर्तमान निर्देशिका से फ़ाइलों को निष्पादित करने के लिए केवल अवधि की आवश्यकता है, अन्य dirs (रिश्तेदार या निरपेक्ष) को अवधि की आवश्यकता नहीं है।


0

मुझे जवाब मिल गया। बस उपयोग कर रहे हैं

[huangchao@localhost antsIntro]$ /home/huangchao/ANTs-1.9.x-Linux/bin/WarpImageMultiTransform --help

काम करेगा।


0

यदि आप किसी भी निर्देशिका से किसी निष्पादन योग्य के लिए आसान पहुँच प्राप्त करना चाहते हैं, तो आप निष्पादन योग्य फ़ाइल का स्थान अपने में जोड़ सकते हैं $PATH। * Nix सिस्टम पर, यदि कोई शब्द टर्मिनल में टाइप किया जाता है, तो सिस्टम उस नाम के साथ निष्पादन योग्य खोजने के लिए उपयोगकर्ता के पथ में निर्देशिकाओं के माध्यम से खोज करेगा।

  • अपने वर्तमान $ पेट को देखने के लिए

    echo $PATH
    
  • केवल मौजूदा सत्र के लिएnew_dir अपने $ PATH नामक निर्देशिका को जोड़ने के लिए

    PATH=$PATH:/new_dir
    
  • new_dirप्रत्येक सत्र के लिए अपने $ PATH में निर्देशिका को जोड़ने के लिए (मान लें कि आप बैश का उपयोग कर रहे हैं), इस लाइन को अपनी $HOME/.bashrcफ़ाइल में जोड़ें

    PATH=$PATH:/new_dir
    

तो, आपके मामले में, आप इस पंक्ति को इसमें शामिल करेंगे .bashrc:

PATH=$PATH:/home/huangchao/ANTs-1.9.x-Linux/bin/

फिर WarpImageMultiTransformआप जहां भी हों, बस कमांड का नाम लिखकर निष्पादित कर पाएंगे ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.