sh/bash/dash/ksh/zsh等Shell脚本
-
iblicf
- 帖子: 3766
- 注册时间: 2007-01-15 17:15
#1
帖子
由 iblicf » 2007-07-25 21:11
想写个处理latex文件的脚本... 类似:
代码: 全选
#!/bin/bash
E_BADARGS=65 # Missing command-line arg.
if [ -z "$1" ] # Check for (required) command-line arg.
then
echo "Usage: $0 <tex_filename>"
exit $E_BADARGS
fi
#deal suffix-----------------------
if [ -f "$1" ]
then
latex $1 && dvipdfmx "$1.dvi" && evince "$1.pdf"
else
echo "Invalid file_name !"
fi
latex 处理 ( foo/foo.txt/foo.tex/foo.xxx )这样的文件名都生成 foo.dvi..如果不带后缀的文件名,上边的命令可用,如果带后缀 。。。所以,怎么取文件名 "foo"(后缀前边的字符,或者没后缀的)? 谢谢
-
iblicf
- 帖子: 3766
- 注册时间: 2007-01-15 17:15
#2
帖子
由 iblicf » 2007-07-25 22:54
OK
代码: 全选
#!/bin/bash
E_BADARGS=65 # Missing command-line arg.
if [ -z "$1" ] # Check for (required) command-line arg.
then
echo "Usage: $0 <tex_filename>"
exit $E_BADARGS
fi
#dealwith suffix
fname=$1
fname=${fname%.*}
if [ -f "$1" ]
then
latex $1 && dvipdfmx "$fname.dvi" && evince "$fname.pdf"
else
echo "Invalid file_name !"
fi
上次由
iblicf 在 2007-07-26 13:38,总共编辑 1 次。
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#3
帖子
由 eexpress » 2007-07-26 12:51
如果是tar.gz。你不死了。呵呵。
%和%%不同的。试试。

● 鸣学
-
iblicf
- 帖子: 3766
- 注册时间: 2007-01-15 17:15
#4
帖子
由 iblicf » 2007-07-26 13:31
不会阿,,就是要取最后一个点前边的..

-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#5
帖子
由 eexpress » 2007-07-26 13:36
是啊。我就说,你取得的不一定是文件名啊。比如 libpig.tar.gz这样的。你难道取libpig.tar作文件名啊。
● 鸣学
-
iblicf
- 帖子: 3766
- 注册时间: 2007-01-15 17:15
#6
帖子
由 iblicf » 2007-07-26 13:40
没错,,因为latex 处理( libpig.tar.gz )出来的文件名就是 libpig.tar.dvi