ๆๅๅจๆไฝ Linux ไธ็ script ๆ,ๅธธๅธธๆไฝฟ็จไธไบ optional arguments,ไพๅฆ:
ls -l
grep -iR --include *.php
ๆๅ่ชๅทฑ่ฃฝไฝ่
ณๆฌๆๅฏไปฅไฝฟ็จ getopts ไปฅๅ shift ้ๅฐ้ๆจฃ็ๆๆ,ไปฅไธๅๅฎ่ฃ็ณป็ตฑ็่
ณๆฌ่ไพ。
install.sh
#/bin/bash
install_nginx=0
install_mysql=0
nginx_port=80
mysql_port=3306
while getopts "nmP:p:" OPTION; do
case "$OPTION" in
n)
install_nginx=1
;;
m)
install_mysql=1
;;
p)
nginx_port="$OPTARG"
;;
P)
mysql_port="$OPTARG"
;;
esac
done
echo "Install basic"
if [ "$install_nginx" == 1 ]; then
echo "Install nginx with port $nginx_port"
fi
if [ "$install_mysql" == 1 ]; then
echo "Install mysql with port $mysql_port"
fi
bash install.sh
# Install basic
bash install.sh -n
# Install basic
# Install nginx with port 80
bash install.sh -n -p 8888 -m
# Install basic
# Install nginx with port 8888
# Install mysql with port 3306
ไธ้ข็ๆนๆณๅช่ฝๅธถๅ ฅๅฎไธๅญ็ฌฆ,ๆไปฅๅๆฏ port ้็จฎๅธธ่ฆๅ ฑ็จ็ๆๅญๅช่ฝ็จๅคงๅฐๅฏซๆ่ ไธๅๅญ็ฌฆๅไปฃ,ๅฝๆงๆฏ่ผๅฐ,ไฝฟ็จ shift ๅฏไปฅ่งฃๆฑบ้ๅๅ้ก。
#/bin/bash
install_nginx=0
install_mysql=0
nginx_port=80
mysql_port=3306
while [ "$1" != "" ]; do
case "$1" in
--nginx)
install_nginx=1
;;
--nginx-port)
shift
nginx_port="$1"
;;
--mysql)
install_mysql=1
;;
--mysql-port)
shift
mysql_port="$1"
;;
esac
shift
done
echo "Install basic"
if [ "$install_nginx" == 1 ]; then
echo "Install nginx with port $nginx_port"
fi
if [ "$install_mysql" == 1 ]; then
echo "Install mysql with port $mysql_port"
fi
bash install.sh --nginx
# Install basic
# Install nginx with port 80
bash install.sh --nginx --nginx-port 8888
# Install basic
# Install nginx with port 8888
bash install.sh --nginx --mysql --mysql-port 3307
# Install basic
# Install nginx with port 80
# Install mysql with port 3307