gpt4 book ai didi

linux - 如何在 bash 命令行中调用变量?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:04:45 25 4
gpt4 key购买 nike

我正在尝试创建这个小程序来帮助我,只用一个命令,在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com