今天再學習時遇到這樣一個情況 sum.txt檔案中包含1-5 數字 在命令列 執行:
cat sum.txt | echo $[ $(tr '\n' '+' ) 0] 時會 提示 非法變數名! 我把這個寫到.sh中執行就沒問題
求教一下這是為什么啊
uj5u.com熱心網友回復:
這個不簡單,我也不明白你用bash的話是可以,即使在命令列下也可以輸出15,
但你用zsh的話就不行,但我的錯誤是input/output error。
在.sh中,你如果宣告#!/bin/zsh,會出現兩種情況
1.
./file.sh運行后,命令列等待輸入
2.
. ./file.sh運行后,報一樣的錯
如果非要用zsh并且在命令列下運行成功的話,用{}
cat sum.txt | { echo $[$(tr '\n' '+') 0]; }
uj5u.com熱心網友回復:
直接復制,沒有報錯
uj5u.com熱心網友回復:
emmm。。 老哥 你的$SHELL是不是 /bin/bash?
uj5u.com熱心網友回復:
是的
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/11306.html
標籤:非技術區
