我想在一个回声句中间对一个词进行着色,但似乎无法实现这一点.
这有效:
#!/bin/bash
wipe="\033[1m\033[0m"
yellow='\E[1;33'
echo -e "$yellow"
echo Hello World
echo -e "$wipe"
Run Code Online (Sandbox Code Playgroud)
但这不是:
#!/bin/bash
wipe="\033[1m\033[0m"
yellow='\E[1;33'
black="40m"
echo -e "Output a $yellow coloured $wipe word."
# or
echo -e "Output a ${yellow} coloured ${wipe} word."
Run Code Online (Sandbox Code Playgroud)
我愚蠢的做错了什么?:)
我正在使用以下脚本浏览whois中的大型域名列表并找到注册商(对于服务器/ DNS迁移非常有用),并且工作正常.
但是,为了方便起见,我想将进度条纳入其中.这是我的脚本,如果可以改进,请告诉我:
#!/bin/bash
for f in `cat /var/www/vhosts/domainlist`
do
if
domain=$f
[ "$domain" ] ;
then
whois $f | grep -i domainregistrar > /dev/null
if
[ $? -le 0 ] ;
then
echo $f >> our_registrar
else
echo $f >> external_registrar
fi
fi
done
echo "Done, check our_registrar file."
Run Code Online (Sandbox Code Playgroud)
我先试过这个:http://moblog.bradleyit.com/2010/02/simple-bash-progress-bar-function.html
然后这个,但没有运气.
您认为在该脚本中实现进度条的最简单方法是什么?
d 是我使用的内部服务器查找工具。
我希望允许用户输入 0(或 1)到 9999 之间的任何数字(我们称之为用户输入)并让它显示结果:
d $userinput(例如1234)
然后操纵该查找的结果(下面删除了除稍后要 ping 的 IP 地址之外的所有内容):
grep -E -o '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'`
Run Code Online (Sandbox Code Playgroud)
我知道我需要使用 while true; 我只是不熟悉如何正确地格式化它,更重要的是:
让它提示输入 0-9999 之间的数字