在脚本中设置数字变量(“set $i 1”)不起作用(“echo $i”为空)

2023-12-07

正如标题所说,我需要一个 bash 脚本的帮助,该脚本必须在给定两个数字变量的情况下生成一个字符串。该字符串将用于生成文件名,但是当我测试名称生成代码时,它不会产生任何结果

脚本是下面的代码

# !usr/bin
set nombre
declare -a i
declare -a j

set $i  1
set $j  2

set nombre "$i\_$j.txt"

echo $i
echo $j

这是它的结果:

entropy@3PY:~$ ./test4

正如你所看到的,它没有产生任何结果,而它应该产生

1
2

提前致谢


set不用于给常规变量赋值;它用于设置位置参数的值或修改 shell 选项。你需要一个定期的任务。

i=1
j=2
nombre="${i}_$j.txt"

echo "$i"
echo "$j"
echo "$nombre"

无需在赋值之前声明变量;如有必要,赋值会创建一个变量。这declare命令更多的是关于设置属性在一个名字上(-a例如,会将变量标记为数组变量,您可以这样做not这里需要)。


举例说明如何set does工作、考虑

echo "First positional parameter: $1"
echo "Second positional parameter: $2"
set foo bar  # $1=foo, $2=bar
echo "First positional parameter: $1"
echo "Second positional parameter: $2"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在脚本中设置数字变量(“set $i 1”)不起作用(“echo $i”为空) 的相关文章

  • bash后台进程修改全局变量

    在我的 Bash 脚本中 我有一个全局变量foo设置为某个值和函数过程back func这是在后台运行的 我希望后台进程能够访问foo并修改其值 以便主进程可以看到变化 我的脚本的结构如下 bin bash foo 0 function b
  • 如何在 Bash 脚本中将heredoc写入文件?

    如何在 Bash 脚本中将此处文档写入文件 阅读高级 Bash 脚本指南第 19 章此处文档 http tldp org LDP abs html here docs html 这是一个将内容写入文件的示例 tmp yourfilehere
  • 相当于 Python 中的 set -o pipelinefail 吗?

    我有一些 Python 脚本 每个脚本都大量使用排序 uniq ing 计数 gzipping 和gunzipping 以及 awking 第一次运行我使用的代码subprocess call 是的 我知道安全风险 这就是为什么我说这是第一
  • 在 bash tee 中,正在将函数变量设置为本地函数,我该如何逃避这个问题?

    我一直坚持使用 bash scipt 它应该同时写入标准输出和文件 我正在使用函数和其中的一些变量 每当我尝试将函数重定向到文件并用 tee 在屏幕上打印时 我无法使用在函数中使用的变量 因此它们以某种方式变成本地变量 这是一个简单的例子
  • 拼写检查 shell 脚本

    我有一些疑问 我对一个应该是简单拼写检查器的脚本有疑问 它的目的是 当发现错误的单词时 它会提示用户输入该单词的正确拼写 如果用户输入正确的拼写 则会显示更正的单词以及错误的单词 下面 在读完所有单词之后 但是 如果用户只是按 Enter
  • 我需要转义该 MATLAB 字符串中的字符吗?

    我想在 MATLAB 中调用以下 bash 命令 grep Up to test linux vision1 1 log awk print 7 I use system 在MATLAB中 但结果有错误 gt gt status strin
  • Jenkins 文本参数 - 特殊字符乱码(不需要的变量替换)

    我在 Jenkins Linux 下 有一份工作构建参数 https wiki jenkins ci org display JENKINS Parameterized Build类型为 文本 我使用参数来形成在构建过程中使用的文件的内容
  • 如何在 Vim 中突出显示 Bash 脚本?

    我的 Vim 编辑器自动突出显示 PHP 文件 vim file php HTML 文件 vim file html 等等 但是当我输入 vim file在里面写一个Bash脚本 它不会突出显示它 我如何告诉 Vim 将其突出显示为 Bas
  • 如何将一个文本文件拆分为多个 *.txt 文件?

    我有一个文本文件file txt 12 MB 包含 something1 something2 something3 something4 有没有办法分开file txt分成 12 个 txt 文件 比方说file2 txt file3 t
  • shell脚本中的“##”是什么意思? [复制]

    这个问题在这里已经有答案了 在编写脚本时 我遇到了这个命令 f file 我很想知道 什么是 这行是什么意思 In bash 它删除了前缀模式 在这里 它基本上为您提供了最后一个路径分隔符之后的所有内容 通过贪婪地删除前缀 后面跟随任意数量
  • 大括号语法 ${var%.*} 是什么意思?

    我正在查看一些旧代码并遇到了以下语法 extractDir downloadFileName tmp 我发现搜索的唯一信息是指命令列表 但这只是一个变量 这个大括号语法在 bash 中意味着什么 在这种背景下 它是一个参数替换 http w
  • bash while 循环的布尔表达式中的 -lt 意味着什么?

    我猜测它代表小于基于输出 但是我在哪里可以找到有关此语法的文档 bin bash COUNTER 0 while COUNTER lt 10 do echo The counter is COUNTER let COUNTER COUNTE
  • 用于编译和运行 C++ 的 bash 脚本

    我正在尝试进入 C 但必须使用冗长的命令通过命令行运行东西很烦人 所以我想制作一个 bash 脚本来简化过程并运行这些命令 bin bash if 1 start then cd CCPP cd HelloWorld g Wall W We
  • 使用 shell=True 将 PATH 设置为 bitbake 的“source”在 Python 中没有效果

    下面是shell脚本中的代码 source proj common tools repo etc profile d repo sh repo project init branch repo project sync source pok
  • 当我尝试在 .bashrc 中添加命令时出现命令未找到消息

    我问了一个问题如何在 bash shell 中编写漂亮优雅的 linux 命令 https stackoverflow com q 19720095 80353 当我尝试该建议时 我收到以下错误消息 Sorry command not fo
  • 在 bash 中添加(收集)退出代码

    我需要依赖于脚本中的几个单独的执行 并且不想将它们全部捆绑在一个丑陋的 if 语句中 我想使用退出代码 每次执行并添加它 最后 如果这个值超过阈值 我想执行一个命令 伪代码 ALLOWEDERROR 5 run something RESU
  • 批量删除文件名中包含 BASH 中特殊字符的子字符串

    我的目录中有一个文件列表 opencv calib3d so2410 so opencv contrib so2410 so opencv core so2410 so opencv features2d so2410 so opencv
  • 在 byobu 选项卡中启动命令的脚本

    我已经使用 screen 来启动服务器进程 以便稍后我可以在需要时附加并再次分离以继续执行其他操作 它工作得很好 但我最近发现了 byobu 我真的很喜欢它 我想使用相同类型的脚本来运行服务器 但我想将其附加到 byobu 选项卡 而不是屏
  • 如何在 Bash 中按自然顺序循环文件?

    我使用以下命令循环目录中的所有文件 for i in fas do some code done 不过 我按这个顺序得到它们 vvchr1 fas vvchr10 fas vvchr11 fas vvchr2 fas 代替 vvchr1 f
  • GitHub Actions:如何将 toJSON() 结果传递给 shell 命令

    因此 我正在与 Github Actions 合作进行端到端测试 我正在查看的设置是让一项作业检索要测试的 url 列表 而我的第二项作业使用该列表创建一个矩阵并测试所有这些 我的问题是 当我实际运行测试脚本时 必须从命令行完成 因为我使用

随机推荐

  • Android、Java 上的单选按钮列表

    我需要创建一个单选按钮列表 但如果我尝试使用 ListView 来完成此操作 我可以同时选择所有单选按钮 但我需要同时选择 1 个单选按钮 因此 我可以尝试这段代码 RadioGroup group new RadioGroup this
  • 使用 FCM 从服务器发送推送通知

    最近我问了一个关于使用GCM发送推送通知的问题 向 Android 发送推送通知 现在有了FCM 我想知道它与服务器端开发有什么不同 就编码而言 它们相同吗 在哪里可以找到显示从服务器向 Android 设备发送推送通知的示例 FCM 代码
  • 有没有办法在 Lightswitch 中基于下拉菜单创建搜索屏幕

    我想在搜索屏幕上的搜索框所在位置放置一个下拉列表 并将每个条目与不同的查询相关联 这是针对我的业务中使用的数据库 我们目前有太多屏幕 例如 所有设备 新设备 可用设备 出售设备 未付费设备 未付佣金 我正在使用 2012 RC 的 Ligh
  • 字符串重复被连字符替换C++

    我是编码的初学者 正在尝试这个问题 用连字符替换字符串中字母的所有重复 即 ABCDAKEA 将变为 ABCD KE 我使用了 switch 循环并且它有效 但我想让它更短 也许使用递归来使其更有效 有任何想法吗 include
  • iOS 绘制两端弯曲的矩形

    想象一个长矩形 尺寸可能为 200x20 所有侧面都有直边 在我的 iOS 应用程序中 这对我来说很容易绘制 CGContextFillRect context CGRectMake xLoc yLoc 200 20 现在 如果我希望较短的
  • 如何使用 Android 从 NFC 标签检测制造商?

    我正在尝试检测 NFC 标签的制造商名称 我找到了制造商代码here 但我只能使用这些 ID 检测 Mifare Ultralight C 标签 Ultralight C 标签 ID 的第一个字节代表制造商代码 但其他标签不包含此属性 Th
  • Typescript:通用类型“提取具有 X 类型值的键”的行为不符合预期

    我定义了以下泛型类型 它从类型 T 中提取值为数字的字符串键 type StringKeysMatchingNumber
  • href="tel:" 和手机号码

    如果我使用tel 我应该写国际电话代码 就像这样 a href 61709 a 到目前为止 一切都很好 但我找不到有关如何以 国际 方式书写手机号码的信息 如果有的话 拨打您所在国家 地区的号码时 您仍然需要拨打国内长途电话号码在其余数字之
  • 使用 Xampp 运行 Python 脚本

    我正在使用 python 2 7 13首先 浏览器显示原始代码 我做了什么 编辑httpd conf AddHandler cgi script cgi pl asp py 在我所有脚本的顶部我添加了以下内容 j Installeds Py
  • C# 和 LINQ:按嵌套查询的值对查询进行排序

    我正在 ASP NET 中编写一个简单的论坛 该论坛位于 C 的实体框架数据库之上 Each Topic对象具有导航属性Posts指向一个集合Post对象 每个Post对象有一个属性When这表明该帖子的发布时间 Post Parent是类
  • 如何防止winforms设计器将Text属性设置为实例名称

    在开始之前 似乎以前可能有人问过类似 相同的问题here 然而没有明确的答案 假设我有一个自定义 winforms 控件 它覆盖Text财产 public class MyControl Control DefaultValue publi
  • 使用 ASP.NET 表单身份验证的 WCF 服务

    我正在通过 jQuery ajax 从 ASP NET 页面调用 WCF Web 服务 NET 4 0 如何保护 WCF 服务的安全 以便只有经过身份验证的 ASP NET 用户才能调用该服务的方法 我是否需要在每个服务方法中强制手动检查表
  • Google AppEngine ImportError:动态模块未定义 init 函数 (init_mysql)

    当我在 Google AppEngine 上使用 Flask 部署 python 应用程序时 出现此错误 如果有人帮助我 我将不胜感激 ps 我的本地服务器工作得很好 File base data home apps s dwnup 997
  • 如何在 php 中获取会话 ID 或用户名?

    我有一个用户可以登录的网站 我尝试过
  • 带扩展名的 TypeScript 导入

    您可能听说过 Deno 它是一个新的 TypeScript 运行时 Deno 和普通 TypeScript 之间的一个主要区别是您必须在 import 语句中包含文件扩展名 例如 import foo from bar ts 我想编写与 D
  • css resize 属性 - 更改调整大小图标属性

    我有一个带有 调整大小 属性的 div 默认情况下 您只能通过拖动窗口的右下角来更改大小 我想知道是否有可能改变它的行为 例如它的外貌 size or position 具体来说 我想做的是允许用户在边缘 而不是角落 重新调整窗口的大小 类
  • mongo $slice查询反向索引超出范围

    mongo 中的以下查询表现得很奇怪 db items findOne List slice skip 3 第一的 它不是仅返回一个带有 id List 键的对象 而是返回一个完整的对象 第二 如果skip是负数并且 skip 高于 lis
  • Numpy 创建一个空的 alpha 图像

    我想创建一个空白的 alpha 图像来解析 py opencv 中的一些数据并将其保存在透明背景 png 文件中 我试过 blank image np zeros H W 4 np uint8 and blank image np full
  • 在异步方法中绑定到输出 Blob 时,将 Blob 绑定到 IAsyncCollector 时出错

    我正在尝试在这篇文章之后的异步方法中绑定到 blob 输出 如何将输出值绑定到我的异步 Azure Functions 我有多个输出绑定 因此仅返回不是一个选择 public static async Task
  • 在脚本中设置数字变量(“set $i 1”)不起作用(“echo $i”为空)

    正如标题所说 我需要一个 bash 脚本的帮助 该脚本必须在给定两个数字变量的情况下生成一个字符串 该字符串将用于生成文件名 但是当我测试名称生成代码时 它不会产生任何结果 脚本是下面的代码 usr bin set nombre decla