相关疑难解决方法(0)

如何自动将所有mysql数据库备份到sql语句中?

MySQL管理员>备份项目.它是一个很棒的工具,允许您选择数据库并安排它.

不过我的问题是:

今天有一些新的网站(新的数据库创建)明天又有了一些新的网站(创建了新的数据库)

在这种情况下,我必须始终进入备份项目>选择那些不在备份列表中的剩余架构...

如何使其自动检查任何新数据库并包含在备份计划列表中?

换句话说,如何自动备份所有mysql数据库(这样我们就不必担心每天创建新数据库).

有什么方法可以实现吗?

我正在使用Windows 2008服务器,它不友好.

mysql database backup

16
推荐指数
3
解决办法
3万
查看次数

以bash获取颜色输出

在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

14
推荐指数
3
解决办法
1万
查看次数

我可以将bash提示符的输入颜色更改为与终端默认值不同的输入颜色

我的默认终端颜色是灰色,没关系.

我的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提示符的"输入文本"颜色更改为终端默认颜色以外的其他颜色?谢谢你的任何建议!

unix linux bash dotfiles

10
推荐指数
2
解决办法
6961
查看次数

Bash颜色一个字使用echo

我想在一个回声句中间对一个词进行着色,但似乎无法实现这一点.

这有效:

#!/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)

我愚蠢的做错了什么?:)

bash colors echo

10
推荐指数
2
解决办法
8867
查看次数

Color Linux命令输出

例如,我想为locate命令的输出着色,以便与其他终端文本轻松区分.

它应该是这样的:

locate -bir pdf | some_command_to_color_the_result
Run Code Online (Sandbox Code Playgroud)

着色不应仅限于locate命令:我需要一个通用的解决方案,使用管道为文本着色,例如将其输出为grepcat.

如果没有内置的Linux命令,那么有关如何创建一个Linux命令的任何提示都会受到赞赏.

linux bash

10
推荐指数
4
解决办法
2万
查看次数

如何停止 ANSI 文本颜色代码的影响或在某些字符后将文本颜色设置回默认值?

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)

bash terminal ansi-colors

7
推荐指数
1
解决办法
1万
查看次数

PHP - 如何使用ANSI编码保存文本文件?

我正在做:

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)

如果您愿意,可以删除此问题,因为正在正确创建文件.如果将文件直接从服务器复制到我的电脑并使用"类型",它看起来没问题.

php ansi utf-8 plaintext

6
推荐指数
1
解决办法
9259
查看次数

如何根据最后一个命令的退出代码更改 bash 提示颜色?

如果之前的退出代码为 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 有什么办法可以做到这一点?

bash

5
推荐指数
1
解决办法
4484
查看次数

在运行时确定终端/ TTY背景颜色

使用粉笔库对终端进行样式化/着色.

import chalk from 'chalk';
Run Code Online (Sandbox Code Playgroud)

如果我使用:

console.log(chalk.blue('foobar'));
Run Code Online (Sandbox Code Playgroud)

这在具有浅色背景的终端中完全可读,但在具有深色背景的终端中完全不可读.

有没有办法在运行时确定终端的背景颜色?


给出的例子:

"npm notice"日志级别为这个问题的情况:

在此输入图像描述

在黑色上阅读蓝色很难.

terminal tty node.js chalk

5
推荐指数
1
解决办法
310
查看次数

Bash - 正确清除最后一个输出

我正在尝试创建一个可更新的进度状态。为了做到这一点,我需要能够完全清除最后一个输出,以便我可以更新它。回车可以工作,但是当输出超过终端宽度并回绕时,将无法清除最后一个输出。所以我正在使用 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)

bash tput

5
推荐指数
1
解决办法
171
查看次数

使用 NPM 运行脚本在终端中进行彩色登录

我正在尝试使用 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)

terminal colors node.js npm run-script

4
推荐指数
1
解决办法
5071
查看次数

在脚本中运行时如何让bash输出颜色?

我从这个问题中提取了一个示例来创建以下示例:

#!/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 colors

2
推荐指数
1
解决办法
3716
查看次数

如何打印$ @

我在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命令?

bash

1
推荐指数
1
解决办法
67
查看次数

标签 统计

bash ×9

colors ×3

terminal ×3

linux ×2

node.js ×2

ansi ×1

ansi-colors ×1

backup ×1

chalk ×1

database ×1

dotfiles ×1

echo ×1

mysql ×1

npm ×1

php ×1

plaintext ×1

run-script ×1

tput ×1

tty ×1

unix ×1

utf-8 ×1