একটি লঞ্চ স্ক্রিপ্টে পরিবেশের পরিবর্তনশীল ব্যবহার করুন


21

আমি জানতে আগ্রহী যদি ProgramArgumentsম্যাক ওএস এক্স চিতাবাঘের লুয়ানচডি স্ক্রিপ্টের অংশে একটি এনভ্রিয়মেন্ট ভেরিয়েবল নির্দিষ্ট করা সম্ভব হয় ।

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>me.mpietz.MountDevRoot</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/sh</string>

        <string>$HOME/bin/attach-devroot.sh</string>

        <!-- Instead of using...
        <string>/Users/mpietz/bin/attach-devroot.sh</string -->
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

উত্তর:


16

প্রোগ্রামআরগমেন্টস কীতে নেই। EnvironmentVariablesআপনার প্লাস্টের ডিক্টের মতো আপনাকে কীটি যুক্ত করতে হবে :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>EnvironmentVariables</key>
    <dict>
           <key>AN_ENVIRONMENT_VARIABLE_NAME</key>
           <string>the_value</string>
    </dict>
    <key>Label</key>
    <string>me.mpietz.MountDevRoot</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/sh</string>

        <string>$HOME/bin/attach-devroot.sh</string>

        <!-- Instead of using...
        <string>/Users/mpietz/bin/attach-devroot.sh</string -->
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

দেখুন: লঞ্চ ডেমন এবং এজেন্ট তৈরি করা হচ্ছে


3
অবশ্যই, আপনি আপনার এনভিলুকে হার্ড কোড করতে পারেন। প্লাস্টে থাকা ওয়ার্স, তবে আপনি v হোমের মতো বিদ্যমান ভার্স ব্যবহার করতে পারবেন না। যদি না এটি শেল স্ক্রিপ্টের কেবল যুক্তি, তবে শেলটি (আরম্ভ করা হয়নি) এটিকে প্রসারিত করবে। তবে এই উদাহরণে, আপনি যদি -c/ বিন / শ বিকল্পটি যুক্ত করেন তবে এটি সম্ভবত কাজ করবে ?
mivk

3

আমি মনে করি না যে প্রবর্তিত পরিবেশ সম্পর্কে স্থানীয়ভাবে জানে, কমপক্ষে {AR পরিবর্তনশীল itu বিকল্প হিসাবে নয়।

-cআপনার চালু হওয়া ক্রিয়া হিসাবে শেল স্ক্রিপ্ট (বা এর সাথে একটি শেল ) আরম্ভ করা থেকে আপনাকে বিরত করার কিছু নেই, এবং এর পরিবেশ এবং শ্রদ্ধা থাকবে $ AR বিভিন্ন AB - সেক্ষেত্রে সিস্টেম এবং ব্যবহারকারী ডেমন / এজেন্টের মধ্যে পার্থক্য সম্পর্কে সচেতন হন যদিও ...


1

আমি নিশ্চিত নই - আমি এর আগে এটি চেষ্টা করে দেখিনি ... তবে আমি আপনাকে বলতে পারি যে আপনি কেবলমাত্র পরিবর্তনশীল যদি বাড়িতে থাকেন তবে আপনি ~ ব্যবহার করতে পারেন ~

So: <string>~/bin/attach-devroot.sh</string>

1
এটি কাজ করে না। আমি পেয়েছি"/bin/sh: ~/bin/attach-devroot.sh: No such file or directory"
matpie

EnableGlobbingপতাকাটি সত্যতে সেট করা থাকলে এটি কেবলমাত্র কাজ করে । দেখুন launchd.plist মানুষ পাতা।
সাকরা

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