是否设置由shell脚本创建的文件目录?
编辑:不得不重新标记它,因为这是一个swave/R问题,因为这个脚本的问题是swave代码的输出目录。R CMD SWAVE是否有相应的选项 我有一个shell脚本,它从.Rnw文件创建一个.tex文件。这个文件需要进一步处理,但是脚本找不到,因为它是自动生成到我的主目录的 我需要在.Rnw文件的文件夹中生成.tex文件(因为所有其他信息都在那里)。请注意,.Rnw文件通常是通过文件选择器选择的 附带问题:有没有类似于Java中的JFileChooser的ChooseFile选项,它只允许选择某些文件 代码如下:是否设置由shell脚本创建的文件目录?,shell,sweave,Shell,Sweave,编辑:不得不重新标记它,因为这是一个swave/R问题,因为这个脚本的问题是swave代码的输出目录。R CMD SWAVE是否有相应的选项 我有一个shell脚本,它从.Rnw文件创建一个.tex文件。这个文件需要进一步处理,但是脚本找不到,因为它是自动生成到我的主目录的 我需要在.Rnw文件的文件夹中生成.tex文件(因为所有其他信息都在那里)。请注意,.Rnw文件通常是通过文件选择器选择的 附带问题:有没有类似于Java中的JFileChooser的ChooseFile选项,它只允许选择某
#!/bin/bash
myfile=$(/usr/bin/osascript << EOT
tell app "AppleScript Runner"
activate
return posix path of (choose file)
end
EOT)
if [ $? -eq 0 ]
then
R CMD Sweave $myfile
no_ext="${myfile%.*}"
/usr/local/texlive/2009/bin/universal-darwin/pdflatex $no_ext.tex
open $no_ext.pdf
else
echo "User canceled"
fi
#/bin/bash
myfile=$(/usr/bin/osascriptdirname
可用于获取文件的目录名,或者您也可以使用先前使用/
替换扩展名的方法
filedir="${no_ext%/*}"
/usr/local/texlive/2009/bin/universal-darwin/pdflatex -output-directory "$filedir" "$no_ext.tex"
这对于昨天建议的Platypus使用也很重要,因为使用该工具创建的应用程序默认情况下会将.tex文件保存到应用程序包文件夹中,这也不是最优的。Thx,看起来我不知道pdflatex的输出目录选项:)