[問題] bash運算問題
各位千萬年薪大大好
小弟這裡有script的問題一直找不到解
問題1:
#!/bin/csh
set a = "16 + 1"
@ b = $a
echo $b
答案是17
set a = "16 * 1"
@ b = $a
echo $b
結果卻無解
後來發現帶有"*"的字元沒辦法存進變數a裡 (+ - / 皆可)
請問有什麼辦法可以解這題嗎?
問題2:
我有一個檔案test.txt
裡面只有一行 16 + 1 的字眼
#!/bin/csh
set a = `awk 'NR == 1 {print $0}' test.txt`
@ b = $a
echo $b
答案是17
但是改成如下寫法
@ b = `awk 'NR == 1 {print $0}' test.txt`
卻顯示 @: Badly formed number 錯誤
請問這兩邊差別在哪裡?
現在很尷尬的問題是假如test.txt裡是16 * 1
就無法將文本內容parsing到變數a裡(出現問題1的問題)
導致整個script無法處裡test.txt裡的乘法
百思不得其解
網路上的文章也查過了還是找不到解法
各位大大看我家搬到現在的份上
救救小弟吧(跪)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.232.133 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1627075707.A.B86.html
推
07/24 11:08,
3年前
, 1F
07/24 11:08, 1F
→
07/24 11:38,
3年前
, 2F
07/24 11:38, 2F
→
07/24 11:42,
3年前
, 3F
07/24 11:42, 3F
→
07/24 11:43,
3年前
, 4F
07/24 11:43, 4F
推
07/24 12:51,
3年前
, 5F
07/24 12:51, 5F
→
07/24 12:51,
3年前
, 6F
07/24 12:51, 6F
→
07/24 12:54,
3年前
, 7F
07/24 12:54, 7F
→
07/24 12:59,
3年前
, 8F
07/24 12:59, 8F
推
07/24 13:26,
3年前
, 9F
07/24 13:26, 9F
→
07/24 13:26,
3年前
, 10F
07/24 13:26, 10F
→
07/24 13:29,
3年前
, 11F
07/24 13:29, 11F
謝謝各位的幫忙(鞠躬)
後來發現 set a = "16 * 1" 是可以存入的
但是要echo出來debug的時候要寫 echo "&a" 而不是 echo &a
具體原因就不知道了
謝謝各位前輩
小弟繼續加班惹QQ
※ 編輯: bpsk (106.1.232.133 臺灣), 07/24/2021 19:35:07
→
07/24 19:46,
3年前
, 12F
07/24 19:46, 12F
→
07/24 19:46,
3年前
, 13F
07/24 19:46, 13F
Linux 近期熱門文章
23
129
PTT數位生活區 即時熱門文章