正如标题所说,我需要一个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
提前致谢
答案 0 :(得分:4)
set
不用于为常规变量赋值;它用于设置位置参数的值或修改shell选项。你需要定期分配。
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"
答案 1 :(得分:0)
此代码是否按预期工作?
#!/bin/bash
i=1
j=2
echo $i
echo $j
nombre=$i"_"$j.txt
echo $nombre