通过这个职位,我使用以下命令递归地将目录中的所有.java文件导出为PDF表单(files.pdf):
enscript -r -1 --file-align=2 --font=Courier7 --pretty-print=java --line-numbers -o - `find . -name '*.java'` | ps2pdf - files.pdf这个很好用。但是,当我将下面的行添加到我的bash_profile时
alias printJavaFiles="enscript -r -1 --file-align=2 --font=Courier7 --pretty-print=java --line-numbers -o - `find . -name '*.java'` | ps2pdf - files.pdf"并且源bash_profile,运行printJavaFiles会为我试图打印的每个.java文件提供一个权限被拒绝的错误,如下所示:
bash: ./datastructuretradeoffs/Main.java: Permission denied
bash: ./graphs/Main.java: Permission denied
bash: ./linkedlists/ListNode.java: Permission denied
bash: ./linkedlists/Main.java: Permission denied
bash: ./recursion/Main.java: Permission denied
bash: ./sorting/BinarySearch.java: Permission denied
bash: ./sorting/MergeSort.java: Permission denied
bash: ./stacksqueues/Main.java: Permission denied
bash: ./stacksqueues/MyQueue.java: Permission denied
bash: ./stacksqueues/Node.java: Permission denied
bash: ./stacksqueues/Queue.java: Permission denied
bash: ./stacksqueues/SetOfStacks.java: Permission denied
bash: ./stacksqueues/Stack.java: Permission denied
bash: ./strings/Main.java: Permission denied
bash: ./trees/BinaryTree.java: Permission denied
bash: ./trees/BTreePrinter.java: Permission denied
bash: ./trees/ExampleTrees.java: Permission denied
bash: ./trees/Main.java: Permission denied
bash: ./trees/TreeNode.java: Permission denied有什么想法吗?谢谢。
发布于 2014-09-11 20:39:29
因为您在定义别名时使用双引号,所以内部回拨将立即执行。使用单引号定义别名:
alias printJavaFiles='enscript ... -o - $(find . -name "*.java") | ps2pdf - files.pdf'
# changes ...........^..................^^.............^......^^.....................^使用您所拥有的,别名看起来如下:
alias printJavaFiles="enscript ... -o - ./a.java
./b.java
./c.java | ps2pdf - files.pdf"它说明了所有被拒绝的权限错误来自何处。
https://stackoverflow.com/questions/25796274
复制相似问题