Linux

如何在命令行輸入 bash 腳本,但在輸入整個腳本之前不處理腳本

  • August 27, 2013

我正在使用 HP 的 QuickTest Professional 和 Linux 執行一些互動式測試。我通過 SSH 連接並將 BASH 腳本行直接輸入命令行。

我遇到的問題是腳本在輸入時執行。我試圖找到一種方法可以將腳本提供給命令行,但在整個腳本完成之前保存執行。

有人有這方面的經驗嗎?我承認,這不是執行此操作的理想方式,但這是我目前面臨的問題。歡迎任何其他建議。

謝謝!

如果您確實無法將腳本文件寫入系統,則可以將命令括在括號中:

( ls; echo this; echo that; )

相同的交易,多行:

(
ls
echo this
echo that
)

如果您不希望腳本在子 shell 中執行,也可以將腳本用大括號括起來:

{
echo one
echo two
}

另一種方法是將迴聲通過管道傳輸到shor bash

echo '
echo one
echo two
' | bash

或使用eval

eval '
echo one
echo two
'

編輯:

這也有效:

bash <<EOF
echo one
echo two
EOF

引用自:https://serverfault.com/questions/123907