我想從文字檔案中讀取一個值並將其與數字進行比較

我想從文字檔案中讀取一個值並將其與數字進行比較

我正在使用 Windows powershell。我想檢索儲存在文字檔案中的數字,並使用 shell 腳本將其與其他數字進行比較。如果我使用$x=$(cat value.txt)它會說“找不到命令”。當我使用

cat vaue.txt
(
read num
)
if [ "$num" == '1' ]; then
echo "hello"
elif [ "$num" == '2' ] then
echo "world"
else
echo "hi" 
fi

無論 num 的值為何,輸出都包含「hi」。無論 num 的值是多少,else 部分都會被執行。還有其他辦法嗎?我還嘗試了從文件中讀取值的所有其他方法。

答案1

Powershell 具有內建別名,可用於某些功能等效的 shell 指令。正如您所發現的命令工作得很好。

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Alias           cat -> Get-Content

但是,Powershell 和 shell 腳本在語法上有所不同。上面的內容應該要寫成如果如下圖所示的語句。

cat value.txt | % {

    if ($_ -eq '1') { "hello" }
    elseif ($_ -eq '2') { 'world' }
    else { 'hi' }
}

相關內容