问题
I want to write a script to call phantomjs
on a bunch of test scripts in a directory.
This script runs the first test and then exits.
#!/bin/bash
find . -maxdepth 1 -name '*.js' -type f -exec phantomjs {} +
Executing a similar command with echo
, like
find . -maxdepth 1 -name '*.js' -type f -exec echo {} +
prints (as expected) all the filenames in the directory.
How can I make phantomjs run all .js
files in the current directory? Is this a bash problem or a phantomjs problem?
回答1:
AFAIK phantomjs will only support one file at the time. You need to tell find
to call phantomjs for each found file:
#!/bin/sh
find . -maxdepth 1 -name '*.js' -type f -exec phantomjs {} ';'
You can also use:
#!/bin/sh
for file in *.js; do
[ -f "$file" ] || continue
phantomjs "$file"
done
来源:https://stackoverflow.com/questions/37420286/make-phantomjs-run-all-js-files-in-the-current-directory