2016-02-28 118 views
-1

为什么不是最近命名的可执行文件被创建?但是如果我删除了shift,它确实创建了该文件?没有创建可执行文件

if [ "$1" = "-o" ]; 
then 
    op="$2" 
    shift 2 
    gcc -o "$op" "[email protected]" &> errors.txt 
else 
shift 
echo "went to else -o not detected" 
gcc "[email protected]" &> errors.txt 
fi 
+0

如果你在你的代码之前添加'set -x'行,bash会在运行之前打印出变量展开的确切行。 – indiv

+0

您是否将'-o'传递给脚本? –

+0

该脚本的当前输入是./compile -o executable_filename file1 file2 file3 .... op应该是executable_filename – jobravooo

回答

0

如果传递-o的则脚本将通过-ogcc,因此调用结果文件的东西其他比“的a.out”。因为那是通过-ogcc

+0

是的,这就是我正在努力去做。更改a.out文件的名称。但是在ls上新创建的可执行文件不在那里。 – jobravooo

+0

那么你不仅没有阅读你的剧本,而且你甚至没有阅读你的问题。 –

+0

不应该有一个可执行文件??????? – jobravooo

相关问题