[英]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.