爲什麼有些命令需要回聲語句,但其他人可以簡單地未經書面:bash腳本編寫shell命令
#!/bin/bash
aptitude upgrade
echo "mysql-server-5.1 mysql-server/root_password password $DB_PASSWORD" | debconf-set-selections
爲什麼有些命令需要回聲語句,但其他人可以簡單地未經書面:bash腳本編寫shell命令
#!/bin/bash
aptitude upgrade
echo "mysql-server-5.1 mysql-server/root_password password $DB_PASSWORD" | debconf-set-selections
,關於標準輸入飼料命令對於某些需要處理的輸入,通常由echo命令提供。 Echo轉儲提供給stdout的字符串,而stdin則使用管道「|」在stdin上重複。 因此,對於不需要stdin輸入或使用其他輸入方法進行處理的命令,無需使用echo命令即可編寫。
aptitude upgrade
:upgrade
是程序的一個參數。如果你在屏幕上看到輸出,這意味着內在的能力,它做一些「回聲」的標準輸出。
程序也可以通過管道「|」寫入stdin,就像在第二種情況下一樣。例如,在Python一個程序,它在標準輸入,
import fileinput
for line in fileinput.input():
print line
,並採取在參數
import sys
file = sys.argv[1]
這些2的組合將使得能夠利用在標準輸入或自變量的程序。這將是如何實現aptitute
或debconf-set-selections
,具體取決於其構建的語言。