[问题]新手请教个小问题。劳你大驾了(已解决,谢谢)

sh/bash/dash/ksh/zsh等Shell脚本
回复
l6751902
帖子: 17
注册时间: 2006-04-09 22:22

[问题]新手请教个小问题。劳你大驾了(已解决,谢谢)

#1

帖子 l6751902 » 2006-07-14 22:06

新手刚开学SHELL


运行说我的第4行(就是这if [-f "$ga" ];then)有错!麻烦告诉我下要怎么改,顺便看下还有那里有错的!



#!/home/kai2/wendan/sh.sh

for ga in $*; do
if [-f "$ga" ];then
gcc $ga -o $ga.cpp

else
echo "error"
fi

done



顺带问下我要的 $ga 是原来就带后缀的,运行gcc $ga -o $ga.cpp之后我 要怎么样才能去掉原后缀换我 想要的.cpp ?望指教
上次由 l6751902 在 2006-07-16 23:59,总共编辑 1 次。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#2

帖子 eexpress » 2006-07-14 22:41

[]的2边都要空格的。;后面也要的。
● 鸣学
l6751902
帖子: 17
注册时间: 2006-04-09 22:22

#3

帖子 l6751902 » 2006-07-15 0:38


$ga 是原来就带后缀的,运行gcc $ga -o $ga.cpp之后我 要怎么样才能去掉原后缀换成我想要的.cpp ?
这个 要怎么写?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#4

帖子 eexpress » 2006-07-15 0:40

这个没懂意思。
$ga是一个文件名?
不是gcc xxxx -o xxxx.xxx自己取名的吗
-o file
指定 输出文件 为 file. 该选项 不在乎 GCC 产生 什么 输出, 无论是
可执行文件, 目标文件, 汇编文件 还是 预处理后的 C 代码.

由 于 只能 指定 一个 输出文件, 因此 编译 多个 输入文件 时, 使用
‘-o’ 选项 没有 意义, 除非 输出 一个 可执行文件.

如果 没有 使用 ‘-o’ 选项, 默认的 输出 结果 是: 可执行 文 件 为
‘a.out’, ‘source.suffix’ 的 目标文件 是‘source.o’, 汇编文件 是
‘source.s’, 而 预处理后的 C 源代码 送往 标准输出.
● 鸣学
l6751902
帖子: 17
注册时间: 2006-04-09 22:22

#5

帖子 l6751902 » 2006-07-15 13:34

就是运行 ./shell file.c 用我也的那个生成的是 file.c.cpp 要怎么样才是生成 file.cpp
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
联系:

#6

帖子 laborer » 2006-07-16 1:35

代码: 全选

gcc "$ga" -o "${ga%.*}.cpp"
下面这个是搞笑的

代码: 全选

gcc "$ga" -o "${ga}pp"
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
回复