क्रॉन जॉब्स और क्लिपबोर्ड


1

जब मैं इसे क्रॉन जॉब से चलाता हूं तो Pbpaste अपेक्षित रूप से काम नहीं करता है।

मेरे पास एक एप्सस्क्रिप्ट है जो पूर्वावलोकन में एक पीडीएफ फाइल खोलता है और इसे कॉपी कमांड भेजता है और फिर पूर्वावलोकन बंद करता है। इसके बाद मैं उसे एक फ़ाइल, pbpaste & gt में पेस्ट करना चाहूंगा; pasta.txt। यह सब महान काम करता है, जब मैं इसे अपने रूप में चलाता हूं।

हालाँकि अगर मैंने इसे crontab -e में एक कार्य के रूप में रखा है, तो यह सही ढंग से चलता है और आउटपुट फ़ाइल भी बनाता है, लेकिन सामग्री खाली है। यह ऐसा है जैसे चल रहा है जो कुछ भी संदर्भ क्लिप बोर्ड की एक अलग अवधारणा है।

मेरा कोंट्राब इस तरह है:

* * * * * cd /Users/bemmu/Public;osascript yeah.script

और हाँ.स्क्रिप्ट इस तरह है:

do shell script "open tiliote.pdf"
delay 2
tell application "Preview"
    activate
    delay 2
    tell application "System Events" to keystroke "a" using {command down}
    delay 2
    tell application "System Events" to keystroke "c" using {command down}
    delay 2
    tell application "System Events" to keystroke "q" using {command down}
    delay 2
end tell
do shell script "pbpaste > pasta.txt"

अपेक्षित परिणाम यह है कि pasta.txt में पाठ में पीडीएफ फाइल होगी और अगर मैं इस स्क्रिप्ट को हाथ से चलाऊंगा तो यही होगा। हालांकि अगर क्रोन इसे चलाता है, तो pasta.txt बन जाता है लेकिन इसमें कुछ भी नहीं है (आकार 0 है)।

मैं देख सकता हूं कि क्रोन से चलने पर प्रतिलिपि निश्चित रूप से सफल होती है, क्योंकि मैं इसे बाद में स्वयं पेस्ट कर सकता हूं। यह सिर्फ इतना है कि pbpaste क्रॉन से काम नहीं कर रहा है।


उपयोगकर्ता आपकी स्क्रिप्ट को निष्पादित करने के लिए क्रॉन का उपयोग क्या करता है? क्या आप उसे प्रभावित कर सकते हैं?
Daniel Beck

जवाबों:


1

स्क्रिप्ट को क्यों न खोदें और एक ऑटोमेटर वर्कफ़्लो (या संकलित ऐप) का उपयोग करें क्योंकि उनके पास पीडीएफ फाइल से टेक्स्ट फाइल में निकालने के लिए एक समर्पित तरीका है।

enter image description here

तुम भी एक क्रोन के माध्यम से क्रोन को खाई और अपनी स्क्रिप्ट चलाने की कोशिश कर सकते हैं। उदाहरण:

~ / Library / LaunchAgents / us.peelman.Terminal.plist

<?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>Disabled</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>Label</key>
    <string>us.peelman.TerminalLauncher</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal</string>
    </array>
</dict>
</plist>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.