正如标题所说,我需要一个 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
Run Code Online (Sandbox Code Playgroud)
这是它产生的结果:
entropy@3PY:~$ ./test4
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,它应该产生任何东西,而它应该产生
1
2
Run Code Online (Sandbox Code Playgroud)
提前致谢
set不用于为常规变量赋值;它用于设置位置参数的值或修改外壳选项。你需要定期分配。
i=1
j=2
nombre="${i}_$j.txt"
echo "$i"
echo "$j"
echo "$nombre"
Run Code Online (Sandbox Code Playgroud)
赋值前不需要声明变量;如有必要,赋值会创建一个变量。该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"
Run Code Online (Sandbox Code Playgroud)