如何通过stdin接收数据而不提示?

时间:2017-04-04 12:12:09

标签: bash macos shell stdin automator

我试图为macOS编写一个自动机操作,将所选文本传递给Bash shell脚本。 Automator通过stdIn

将文本传递给我的shell脚本

我试过了:

#!/usr/bin/env bash

myVar=$(</dev/stdin)
echo "$myVar"

和:

read -t 1 input
echo "$input"
exit 0

虽然上面的第一个示例有效,但如果我直接在命令行上运行脚本,它会等待输入。在第二个例子中,它将在一秒钟后停止等待但我只能将文本提交到换行符。

我不希望脚本在命令行上等待输入,但我确实希望它接受来自其他程序的输入,即通过stdIn传入文本的Automator。

如果脚本通过管道接受输入,那也很好。 :

cat myfile | ./myscript

我想要实现的是,如果传递了某些内容,可以选择使用stdIn,但我从不想提示用户在命令行上输入。

  

本质上,输入在我的程序中是可选的。

感谢您的帮助。

0 个答案:

没有答案