想知道我是否可以在执行过程中施加负载,这可能吗?

问题描述 投票:1回答:1

我是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
linux bash macos printf loading
1个回答
0
投票

您可能具有此进度栏功能:

#!/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调用。

这将增加进度条的大小,如下所示:

[▓▓▓▓▓▓▓▓▓

© www.soinside.com 2019 - 2024. All rights reserved.