MySQL管理员>备份项目.它是一个很棒的工具,允许您选择数据库并安排它.
不过我的问题是:
今天有一些新的网站(新的数据库创建)明天又有了一些新的网站(创建了新的数据库)
在这种情况下,我必须始终进入备份项目>选择那些不在备份列表中的剩余架构...
如何使其自动检查任何新数据库并包含在备份计划列表中?
换句话说,如何自动备份所有mysql数据库(这样我们就不必担心每天创建新数据库).
有什么方法可以实现吗?
我正在使用Windows 2008服务器,它不友好.
在linux终端上编译一些项目时,我通常得到一个包含大量信息的长输出.通常这个信息是MONOCHROME.我想知道bash是否可以以某种方式进行修改,因此在所有输出或某些特定输出中(例如来自Makefile等)我可以获得不同的颜色依赖,例如:
make[1]: Leaving directory
Run Code Online (Sandbox Code Playgroud)
要么
g++ -DHAVE_CONFIG_H -I.
Run Code Online (Sandbox Code Playgroud)
等等
谢谢
我的默认终端颜色是灰色,没关系.
我的bash提示显示了一堆颜色,这很好用:
PS1="${COLOR_RED}\u${COLOR_WHITE}@${COLOR_RED}${COMPUTERNAME} ${COLOR_BLUE}\w${GITPROMPT} ${COLOR_RESET}"
Run Code Online (Sandbox Code Playgroud)
参见示例:http://cl.ly/image/002f210X1f1u
但是我在输入结束时输入的文字是灰色的.我希望它是白色的(ANSI代码"[37m").
如果我在提示的末尾添加COLOR_WHITE而不是COLOR_RESET,则默认的终端颜色会变为白色,直到重置为止.这会产生一些灰色文本的奇怪效果,顶部会出现一些白色文字.
请参阅问题示例:http://cl.ly/image/1Z3g3v0e083B
如何将Bash提示符的"输入文本"颜色更改为终端默认颜色以外的其他颜色?谢谢你的任何建议!
我想在一个回声句中间对一个词进行着色,但似乎无法实现这一点.
这有效:
#!/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)
我愚蠢的做错了什么?:)
例如,我想为locate命令的输出着色,以便与其他终端文本轻松区分.
它应该是这样的:
locate -bir pdf | some_command_to_color_the_result
Run Code Online (Sandbox Code Playgroud)
着色不应仅限于locate命令:我需要一个通用的解决方案,使用管道为文本着色,例如将其输出为grep或cat.
如果没有内置的Linux命令,那么有关如何创建一个Linux命令的任何提示都会受到赞赏.
ANSI 颜色代码的范围是什么。在下面的代码中,所有内容都是蓝色的。我只想要蓝色的“编译成功”。这里有像关闭标签(例如在 HTML 中)这样的东西吗?
cout<<"\n\e[0;34mCompiled Successfully!!\n";
sym_table.render();
cout<<"\n\nAll variables according to sizes:\n";
for(auto el: addr_table){
cout<<el.first<<" "<<el.second<<endl;
}
Run Code Online (Sandbox Code Playgroud) 我正在做:
file_put_contents("txt/myfile.txt", $fileContents);
Run Code Online (Sandbox Code Playgroud)
我尝试了很多方法来强制我的文本文件是ANSI,如:
$fileContents = mb_convert_encoding($fileContents , mb_detect_encoding($fileContents , mb_detect_order(), true), 'WINDOWS-1252');
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
$fileContents = iconv("ISO-8859-1", "WINDOWS-1252", $fileContents );
Run Code Online (Sandbox Code Playgroud)
我需要ANSI,因为当我使用MS-DOS中的"type"命令(Windows 7中的cmd.exe)打开它时,文本文件应该看起来不错
如果我打开当前文件,我可以看到UTF-8 BOM:
C:\ Users\XXX>键入C:\ myfile.txt
'╗┐V01766699900000000000000005350005122013
如果我用Notepad ++打开文件并应用"转换为ANSI"我得到(我需要的):
C:\ Users\XXX>键入C:\ myfile.txt
V017666999 00000000000000005350005122013
有什么办法可以解决这个问题吗?提前致谢.(对不起,我的英语不好)
编辑:现在我知道发生了什么,文件正确创建,但下载时会添加不需要的BOM.这是问题,我只需要改变这个:
file_put_contents("txt/myfile.txt", $fileContents);
Run Code Online (Sandbox Code Playgroud)
对此(下载为二进制文件,使其保持不变):
$fileContents = mb_convert_encoding($fileContents , mb_detect_encoding($fileContents , mb_detect_order(), true), 'WINDOWS-1252');
Run Code Online (Sandbox Code Playgroud)
如果您愿意,可以删除此问题,因为正在正确创建文件.如果将文件直接从服务器复制到我的电脑并使用"类型",它看起来没问题.
如果之前的退出代码为 0,我想显示绿色笑脸,如果不成功则显示红色笑脸。
基本上我想做这个提示,但包括其他东西。
PS1='\u@\h:\w `if [ $? = 0 ]; then echo \[\e[32m\]:\)\[\e[37m\]; else echo \[\e[31m\]:\(\[\e[37m\]; fi` $ '
Run Code Online (Sandbox Code Playgroud)
我想将条件逻辑抽象为一个函数,但是当我尝试将这两个组合在一起时,会显示转义字符而不是颜色。
smiley()
{
if [ $? == 0 ]; then
echo ':)'
else
echo ':('
fi
}
RED="\033[1;5;91m"
GREEN="\033[1;5;92m"
NONE="\033[m"
NORMAL="\[\033[0m\]"
YELLOW="\[\033[1;4;93m\]"
MAGENTA="\[\033[35m\]"
WHITE="\[\033[1;37m\]"
BLINK="\[\033[5m\]"
#INVERT="\[\e[7m\]"
#OFF="\[\033[m\]"
PS1="${YELLOW}\u${MAGENTA}@${YELLOW}\h${NORMAL}:${WHITE}\w $(smiley)\n"
Run Code Online (Sandbox Code Playgroud)
我什至尝试了一条线,但它也不起作用。
PS1='\[\033[1;4;93m\]\u\[\033[35m\]@\[\033[1;4;93m\]\h\[\033[0m\]\[\033[1;37m\] \W if [ $? = 0 ]; then echo \[\e[32m\]:\)\[\e[37m\]; else echo \[\e[31m\]:\(\[\ e[37m\]; fi\n'
Run Code Online (Sandbox Code Playgroud)
如果没有 PROMPT_COMMAND 有什么办法可以做到这一点?
使用粉笔库对终端进行样式化/着色.
import chalk from 'chalk';
Run Code Online (Sandbox Code Playgroud)
如果我使用:
console.log(chalk.blue('foobar'));
Run Code Online (Sandbox Code Playgroud)
这在具有浅色背景的终端中完全可读,但在具有深色背景的终端中完全不可读.
有没有办法在运行时确定终端的背景颜色?
给出的例子:
该"npm notice"日志级别为这个问题的情况:
在黑色上阅读蓝色很难.
我正在尝试创建一个可更新的进度状态。为了做到这一点,我需要能够完全清除最后一个输出,以便我可以更新它。回车可以工作,但是当输出超过终端宽度并回绕时,将无法清除最后一个输出。所以我正在使用 tput:
n=0
while [[ $n -ne 100 ]]; do
n=$((n+1))
tput ed #clear
tput sc #save cursor
echo -n "Progress: ${n}%"
tput rc #restore cursor
sleep 1s
done
echo
Run Code Online (Sandbox Code Playgroud)
但是,如果输出足够长以致于强制终端向上滚动,这将失败。发生这种情况时,保存的光标位置不再正确,并且无法正确清除最后的输出。
例如,如果光标当前在终端的底部并且输出比终端宽度长,则会强制终端向上滚动,使之前保存的光标位置无效。
那么有没有什么办法可以保证Bash中的光标永远不会到终端结束呢?或者也许还有其他一些替代方法来防止这个问题?
编辑:我根据 F. Hauri 的回答制作了我自己的版本,简化了我的用例
#!/bin/bash
str=$(head -c 338 < /dev/zero | tr '\0' '\141')
len="${#str}"
col=$(tput cols)
lines=$(( ((len + col - 1) / col) - 1 ))
echo -ne "${str}\r"
(( len > col )) && tput cuu "$lines"
sleep 3s
tput ed
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 NPM 作为构建系统(没有 Gulp 或 Grunt)专门设置一个项目,所以我有点初学者,但到目前为止,除了这个小障碍之外,它的工作非常好。我的 package.json 的脚本部分看起来像这样:
"scripts": {
"clean:task": "rimraf dist/*",
"clean:notify": "notify --t 'Cleaning done.' --m 'dist/ has been cleaned successfully.",
"clean": "npm run clean:task -s && npm run clean:notify -s",
"serve": "browser-sync start --p 'xxx.dev/app' --host 'xxx.dev' --port '3000' --open 'external' --f 'app'",
"styles:task": "node-sass --output-style nested -o app/assets/css app/assets/css",
"styles:notify": "notify --t 'Styles compilation' --m 'Styles have been compiled successfully'",
"styles:build": "npm run styles:task && npm run autoprefixer",
"imagemin": "imagemin app/assets/img dist/img -p",
"scripts:lint": "jshint …Run Code Online (Sandbox Code Playgroud) 我从这个问题中提取了一个示例来创建以下示例:
#!/bin/bash
export GREEN='\033[0;32m'
export RED='\033[0;31m'
export NC='\033[0m' # No Color
echo "I ${RED}love${NC} ${GREEN}Stack Overflow${NC}"
Run Code Online (Sandbox Code Playgroud)
如果我提供文件,它会按预期工作。但是,将其作为可执行文件运行会导致将控制代码打印到屏幕上,而不是更改颜色。我想我需要向 bash 发送一些标志以启用颜色,但是什么?
我在bash中有一个函数,它接受未知数量的参数:
printAndRunCommand() {
printf "$@"
eval "$@"
}
Run Code Online (Sandbox Code Playgroud)
因为printf仅接受单个参数,所以当我使用
printAndRunCommand wget stackoverflow.com
Run Code Online (Sandbox Code Playgroud)
仅wget被打印。我可以使用echocommand 来存档相同的效果,但是在origin命令中,我使用printf特定字符(例如颜色更改)printf '"\033[4;36m$@\e[0;33;40m"。
如何传递"$@"给printf命令?