[英]Setting numeric variables in a script (“set $i 1”) not working (“echo $i” empty)
如标题所述,我需要有关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
不用于将值分配给常规变量; 它用于设置位置参数的值或修改壳选项。 您需要定期分配。
i=1
j=2
nombre="${i}_$j.txt"
echo "$i"
echo "$j"
echo "$nombre"
分配前无需声明变量; 必要时,分配会创建一个变量。 该declare
命令更多的是关于一个名字设置属性 ( -a
,例如,将标志着变量作为数组变量,有些东西你不需要在这里)。
作为如何一个例子set
确实可行,考虑
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"
此代码是否可以按需工作?
#!/bin/bash
i=1
j=2
echo $i
echo $j
nombre=$i"_"$j.txt
echo $nombre
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.