在简单的shell脚本中将文件作为参数传递的最简单方法是什么?

Mat*_*ert 3 python shell

以下在Mac OS X上运行正常:

#!/bin/bash
R CMD Sweave myfile.Rnw
pdflatex myfile.tex
open myfile.pdf
Run Code Online (Sandbox Code Playgroud)

现在,我意识到这3行代码对我的工作非常有帮助 - 独立于某些特定文件.因此,我想将该文件用作参数.我知道如何使用一个参数本身但是在字符串之后拆分输入并在之后连接它时会出现问题.如果我能够分割文件名参数,如:

split($1,".") # return some array or list ("name","ext")
Run Code Online (Sandbox Code Playgroud)

或者是否比在shell脚本中使用Python更简单,完全不同?

提前获取任何一般建议和示例!

Mar*_*ett 6

我在python中执行所有shell脚本编写.
它更容易阅读,更强大,也适用于Windows.


nmi*_*els 6

你可以只以基名作为参数和使用$1.Rnw,$1.tex以及$1.pdf.Python非常适合shell脚本,但我通常坚持使用bash来处理不到10行的事情.

如果你真的想要一个文件名,你可以使用cut -f 1 -d '.' $1.