生成一个 HTML 文件,其中包含 shell 中的变量(Automator)

Generate an HTML file with variables in shell (Automator)

基本上,我有这个“工作流程”,我发现自己经常这样做并且希望自动化:

  1. 在特定文件夹中创建一个新名称的文件夹(路径不变)
  2. 在该文件夹中创建一个 index.html 文件
  3. 使用 2 个关键变量(网页标题和 https:link)编辑 index.html
  4. 运行一个脚本

这是我在 Automator 中取得的进展:

  1. 请求新文件夹名称
  2. 保存为变量
  3. 询问网页标题名称
  4. 保存为变量
  5. 请求link
  6. 保存为变量
  7. 运行 shell 将脚本 cd 到正确的文件夹并“触摸 index.html”

现在我卡住了。在使用提到的其他两个变量时,我将如何编辑 index.html 。有没有办法在使用 Automator 变量时编辑或“替换”文件的内容?

TIA!

尝试将以下内容添加到 Automator 工作流程中的 'Run Shell Script':

for var in $@
do
  echo $var >> /path/to/index.html
done

然后设置“传递输入:”运行 Shell脚本上方模块到:'as arguments'

此循环所做的是 运行 为您在 Automator 脚本中设置的每个变量执行 do 和 done 之间的命令。或者,您可以将 for var in $@ 替换为 for var,因为空的 for 将自动收集变量。

>>> 是 bash shell 运算符。 >> 追加到文件或创建文件(如果文件不存在)。如果文件存在,> 将覆盖文件;如果文件不存在,则创建文件。您可以删除 touch 命令,除非您希望无论是否提供任何变量都创建一个空文件。

如果您需要区分变量,您甚至不需要 for 循环,只需 运行:

echo  >> /path/to/index.html
echo  >> "/path to/index.html" # *or* /path\ to/index.html 
  # ^ if the directory of the file contains spaces
echo "The third supplied variable is: " >> /path/to/index.html
  # ^ if you wish to add additional text to the variable

依此类推,按照您设置自动变量的顺序。只需确保“通过输入:”仍设置为 'as arguments'.