如何将 "ask for text" 输入传递给 "Run Shell Script"
How to pass "ask for text" input to "Run Shell Script"
我的 Automator 有两个盒子:
1) 询问文本
2) Shell 脚本
我不知道如何将(1)的内容传递给(2)。
该工作流旨在接收文件并使用输入的文本重命名它们。
所以:
for f in "$@"
do
text_entered=????
path/to/my/command "$f" "text_entered"
done
这就是我零编程知识所能做的:)
有两种方法可以将用户输入传递给 shell 脚本:
a) 通过读取命令
b) 通过命令行参数
例如:
read text_entered #will seek user input for entering the text
或
sh script.sh <text>
这里 <text>
指的是给脚本的第一个参数,它可能是传递给脚本以供在执行期间使用的文本输入(作为脚本中的变量 $1)。
在 script.sh 文件中,将 $1 传递给 text_entered 变量
示例:
text_entered=
如果要输入的文本顺序与 $@ 中的参数列表相匹配,那么您也可以将文本放入一个预先命名的文件中(例如 texts.txt)并在 for 循环过程中读取相同的文件如下:
counter=1
for f in "$@"
do
text_entered=`sed $counter'!d' texts.txt`
path/to/my/command $f text_entered
counter=`expr $counter + 1`
done
我的 Automator 有两个盒子:
1) 询问文本 2) Shell 脚本
我不知道如何将(1)的内容传递给(2)。 该工作流旨在接收文件并使用输入的文本重命名它们。 所以:
for f in "$@"
do
text_entered=????
path/to/my/command "$f" "text_entered"
done
这就是我零编程知识所能做的:)
有两种方法可以将用户输入传递给 shell 脚本:
a) 通过读取命令 b) 通过命令行参数
例如:
read text_entered #will seek user input for entering the text
或
sh script.sh <text>
这里 <text>
指的是给脚本的第一个参数,它可能是传递给脚本以供在执行期间使用的文本输入(作为脚本中的变量 $1)。
在 script.sh 文件中,将 $1 传递给 text_entered 变量
示例:
text_entered=
如果要输入的文本顺序与 $@ 中的参数列表相匹配,那么您也可以将文本放入一个预先命名的文件中(例如 texts.txt)并在 for 循环过程中读取相同的文件如下:
counter=1
for f in "$@"
do
text_entered=`sed $counter'!d' texts.txt`
path/to/my/command $f text_entered
counter=`expr $counter + 1`
done