在 Linux Bash 中使用 eval 命令

Yahya Irmak 2023年1月30日 2022年5月11日
  1. 在 Bash 中使用 eval 命令
  2. 在 Bash 中使用 eval 時要小心
在 Linux Bash 中使用 eval 命令

本文展示瞭如何在 Linux Bash 中使用 eval 命令。然後,我們將解決此命令可能導致的漏洞。

在 Bash 中使用 eval 命令

eval 命令將給定的引數解釋為 Bash 命令。

讓我們舉個例子來更好地理解。我們有一個檔案 test.txt,其中包含 This is how eval works!

下面是示例 Bash 指令碼的內容。

x="cat test.txt"
echo "The value of the variable x: "
echo $x

echo "The result when we use eval command:"
eval $x

首先,我們用 echo 列印變數 x。這正是我們定義的值。

然後,我們對我們定義的變數使用 eval 命令。這一次,變數的內容作為命令執行,test.txt 的內容被列印出來。

bash eval 命令

在 Bash 中使用 eval 時要小心

eval 命令是邪惡的。使用此命令時要小心。

考慮以下簡單 Bash 指令碼示例,該指令碼計算給定表示式並將結果列印到螢幕上。由於 eval 會將給定的輸入作為 Bash 命令執行,如果使用者提供惡意命令作為輸入,這也會執行。

read -p "Enter the expression to calculate (2 + 3) " expression
result="expr $expression"
eval $result

eval 是邪惡的命令

Author: Yahya Irmak
Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn