Automator AppleScript — пытается передать строковую переменную в Bash

#applescript #automator

#applescript #automator

Вопрос:

Я пытаюсь создать службу с помощью Automator.

Внутри действия Run AppleScript у меня есть переменная, представляющая собой строку, в которой каждая строка представляет собой слово, разделенное переводом строки. Вот так:

 à
às
a
ante
ao
aos
após
aquela
  

Когда я пытаюсь передать это на терминал, выполнив:

 do shell script "echo " amp; (finalText as string)
  

Я получаю эту ошибку:

 The action “Run AppleScript” encountered an error: “sh: line 1: a: command not found
sh: line 2: à: command not found
sh: line 3: ante: command not found
...
sh: -c: line 30: syntax error near unexpected token `do'
sh: -c: line 30: `do'”
  

Есть идеи?

Комментарии:

1.Когда вы говорите «пытаетесь передать строковую переменную в Bash», что именно вы пытаетесь сделать? Я спрашиваю, потому что использование do shell script команды в действии Run AppleScript ничего не даст, если все, что вы делаете, это повторяете некоторые строки текста, однако из-за ошибок вы, очевидно, делаете больше, чем это! В любом случае, чтобы избавиться от ошибок типа command not found, используйте: do shell script "echo " amp; finalText's quoted form — Что касается синтаксической ошибки около ошибки unexpected token `do’, без просмотра всего кода невозможно устранить неполадки.

2. БЛЕСТЯЩЕ. 's quoted form сделал свое дело. Пожалуйста, сделайте эту команду ответом, чтобы я мог принять.

Ответ №1:

Чтобы избавиться от ошибок типа command not found в этом случае и практически в любое время при передаче переменной в do shell script команду, используйте:

 do shell script "echo " amp; finalText's quoted form
  

Вы также можете использовать:

 do shell script "echo " amp; quoted form of finalText
  

В зависимости от того, что вы предпочитаете.