我有以下代碼:提示在bash腳本不顯示參數
#!/bin/sh
g_yes=0
g_no=-1
g_cancel=1
g_none=127
show_yes_no_prompt()
{
rc=$g_none
prompt=$*
while true; do
read -p $prompt"(ync): "
case $yn in
[Yy]*) rc=$g_yes; break;;
[Nn]*) rc=$g_no; break;;
[Cc]*) rc=$g_cancel; break;;
*) echo "Please answer yes/no/cancel.";;
esac
done
return $rc
}
install_pkg()
{
pkg_name=$*
prompt="Install "$pkg_name"?"
show_yes_no_prompt $prompt
if [ $? -eq $g_cancel ]; then
exit 0
fi
if [ $? -eq $g_yes ]; then
apt-get install -y $pkg_name
else
echo "Installation of "$pkg_name" refused."
fi
}
當我寫install_pkg package1 package2
提示將只顯示「安裝」,但我需要提示要像「安裝package1 package2'。那麼,這個代碼有什麼問題?
你從哪裏調用'install_pkg'函數? –
來自同一個腳本文件。 –
你正在使用'bash'; hashbang應該是'#!/ bin/bash',而不是'#!/ bin/sh'。 – chepner