我是new,请注意,一次只执行一行。有一个我感到满意的脚本。工作正常,但我想根据已运行脚本的数量在脚本顶部添加一个加载符号。现在,这看起来像一些python脚本一样复杂得多。但是可以在bash脚本中执行此操作吗?
这将非常有帮助,因为我倾向于在其他脚本中重复使用代码。我的速度很慢,我需要提醒,所以我制作了脚本来自动执行需要记住的所有任务,包括记住命令行。
此外,我也很乐意将任何建议或想法添加到代码中。
#!/bin/bash
BOLDY='\033[1;1;33m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
printf " ${GREEN} by MONEY ${CN}"
echo ''
printf " ${BOLDY} T H E M A C F L I P P E R${CN}"
echo ''
printf " ${YELLOW}starting mac address change for WLAN0 and ETH0${NC}\n"
echo ' ........................................................'
sleep 3
printf ${GREEN}
service NetworkManager stop
ifconfig wlan0 down
ifconfig wlan0 up
service NetworkManager start
printf " ${YELLOW} STARTING MAC CHANGER ${CN}\n"
printf " ${GREEN} -- ${CN}\n"
sleep 1
printf " ${GREEN} -- \n"
macchanger -s eth0
sleep 1
printf " ${GREEN} -- \n"
ifconfig eth0 down
macchanger -r eth0
sleep 1
printf " ${GREEN} -- \n"
ifconfig eth0 down
macchanger -s eth0
ifconfig eth0 up
ip link set eth0 up
printf " ${GREEN} -- \n"
sleep 1
printf "${YELLOW}ethernet MAC changed${NC}\n"
echo ''
printf ${GREEN}
macchanger -s eth0
sleep 6
printf "${YELLOW}starting wlan0 MAC change${NC}\n"
printf ${GREEN}
ifconfig wlan0 down
macchanger -s wlan0
sleep 1
macchanger -r wlan0
sleep 1
macchanger -s wlan0
ifconfig wlan0 up
ip link set wlan0 up
printf "${YELLOW}Wireless lan MAC changed${NC}\n"
echo ''
printf ${GREEN}
macchanger -s wlan0
sleep 6
clear
printf "${YELLOW}Wlan0 and Eth0 MAC addresses have been changed\n"
printf "${YELLOW}exiting program${NC}"
sleep 4
clear
exit
想在顶部附近添加一些加载脚本,这显然与时间有关,而不是脚本中出现的特定实例,但现在仅作为示例。
echo LOADING
{
for pc in $(seq 1 100); do
echo -ne "$pc%\033[0k\r"
sleep 1
done
echo
}
exit
您可能具有此进度栏功能:
#!/bin/sh
progbar()
{
command "$@" > /dev/null 2>&1 &
PID=$!
printf "["
# While process is running...
while kill -0 $PID 2> /dev/null; do
printf "▓"
sleep 1
done
printf "]"
}
然后用progbar some_long_running_command
调用。
这将增加进度条的大小,如下所示:
[▓▓▓▓▓▓▓▓▓