我正在尝试创建这个小程序来帮助我,只用一个命令,在 Ubuntu 的终端中编译和运行 C 程序。
为了让它更漂亮,我在 bash 文件中添加了一个参数,这样我就可以将它用于我想要的任何 C 程序。所以它应该是这样的:
- 创建一个变量来存储文件名
- 使用该变量编译程序(到相同的文件名)
- 使用相同的名称运行文件。
代码如下:
# usr/bin/bash
filename=$1
cc -o $filename "$filename.c"
./$filename.out
几乎一切正常,唯一的问题是在最后一行:
./$filename.out
它似乎没有在执行最终程序的命令中使用变量的名称。
我是 bash 的新手(假设我已经几个月没用过它了)。
最佳答案
cc -o foo
将输出 foo
而不是 foo.out
。您还应该双引号变量扩展以防止 IFS
-splitting 和 globbing:
filename=$1
cc -o "$filename" "$filename.c" &&
./"$filename"
除此之外 #/usr/bin/bash
(不像 #!/usr/bin/bash
)什么都不做。这是一条评论。整个过程将运行 /bin/sh
,而不是 bash
(但无论如何您不需要 bash)。
关于linux - 如何在 bash 命令行中调用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45325203/