Organize bir karmaşık 1 satır bash komutu çalıştırmak için bir fırlatma plist nasıl edinilir?


13

Çağrı sistemi programından bahsetmemek yerine, bazı borular ve if-then-else cümlesi içeren biraz karmaşık bir bash komutum var. grep ) birden fazla parametre ile.

Fırlatma işleminin bu karmaşık komutu doğrudan yükleyip çalıştıracağı bir fikir yaratmanın bir yolu var mı? (Plist başvurusuna karmaşık komut içeren bir bash betiği dosyalarının aksine)

Teşekkürler.

Yanıtlar:


16

Evet. Ayarlarken ProgramArguments eleman, sadece kullanmak bash ilk argüman olarak -c İkinci argüman olarak [your commands] (örneğin, herhangi bir XML varlığını değiştirmeyi hatırlamak >, & ve benzeri) üçüncü olarak, şöyle:

<key>ProgramArguments</key>
<array>
        <string>/bin/bash</string>
        <string>-c</string>
        <string>ls -1 | grep *.txt | echo &gt; allTextFiles</string>
</array>

Dizinin üçüncü öğesini gerçek komutunuzla değiştirin.


1
Bunu test etmedim, ancak komut dizesinin etrafında alıntı yapmak istemediğinizden eminim ama html-entity kodunu kodlamanız gerekiyor (örneğin &gt; ve &lt; yerine > ve < yönlendirmeler için).
Gordon Davisson

@ Gordon Davisson - kesinlikle alıntılar konusunda haklısın - dizinin bir elemanı yapmakla aynı amaca hizmet ediyorlar. XML varlıkları konusunda da haklı olduğunuza eminim. İyi yakalama. Cevabımı buna göre düzenledim.
Scott
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.