我想创建一个使用另一个命令的结果的命令,如下所示:
JNLP_FILE='find . -name viewerApplet.jnlp'
cp ${JAR_FILE} ../../sign-jar/$PROFILE/
但我不知道如何执行用于‘cp’命令的find命令。
有什么帮助吗?
答案1
您可以使用美元符号后跟括号 [ ] 中的命令,$(<command>)
将该命令的输出直接输入到命令行中:
cp $(find . -name viewerApplet.jnlp) ../../sign-jar/$PROFILE/
或者,您可以使用反引号 (`):
cp `find.-name viewerApplet.jnlp`../../sign-jar/$PROFILE/
答案2
find . -name viewerApplet.jnlp -exec cp {} ../../sign-jar/$PROFILE/ \;
-exec 允许您将 find 的结果提供给另一个命令。{} 代表找到的文件的名称。请注意,如果 find 有多个结果,它会将它们全部复制到指定的目录中(假设您只有一个名为 viewerApplet.jnlp 的文件,但 exec 也适用于类似的东西find . -name *.java -exec cp {} backups/ \;
)