标签: bash

如何在Linux中更改echo的输出颜色

我正在尝试使用echo命令在终端中打印文本.

我想以红色打印文本.我怎样才能做到这一点?

linux bash command-line echo terminal-color

1582
推荐指数
29
解决办法
92万
查看次数

如何递归计算目录中的所有代码行?

我们有一个PHP应用程序,并希望计算特定目录及其子目录下的所有代码行.我们不需要忽略评论,因为我们只是想弄清楚.

wc -l *.php 
Run Code Online (Sandbox Code Playgroud)

该命令在给定目录中运行良好,但忽略子目录.我当时认为这可行,但它正在返回74,绝对不是这样......

find . -name '*.php' | wc -l
Run Code Online (Sandbox Code Playgroud)

提供所有文件的正确语法是什么?

bash shell

1536
推荐指数
23
解决办法
73万
查看次数

如何在Bash中将变量设置为命令的输出?

我有一个非常简单的脚本,如下所示:

#!/bin/bash

VAR1="$1"
MOREF='sudo run command against $VAR1 | grep name | cut -c7-'

echo $MOREF
Run Code Online (Sandbox Code Playgroud)

当我从命令行运行此脚本并将参数传递给它时,我没有得到任何输出.但是,当我运行$MOREF变量中包含的命令时,我能够获得输出.

我想知道如何获取需要在脚本中运行的命令的结果,将其保存到变量,然后在屏幕上输出该变量?

bash shell command-line

1513
推荐指数
14
解决办法
170万
查看次数

如何在不注销并重新登录的情况下重新加载.bashrc?

如果我进行了更改.bashrc,如何在不注销并重新登录的情况下重新加载?

bash terminal profile reload

1510
推荐指数
10
解决办法
88万
查看次数

如何使用Bash将stdout和stderr重定向并附加到文件中?

要将stdout重定向到Bash中的截断文件,我知道要使用:

cmd > file.txt
Run Code Online (Sandbox Code Playgroud)

要在Bash中重定向stdout,追加到文件,我知道要使用:

cmd >> file.txt
Run Code Online (Sandbox Code Playgroud)

要将stdoutstderr重定向到截断的文件,我知道要使用:

cmd &> file.txt
Run Code Online (Sandbox Code Playgroud)

如何重定向附加到文件的stdoutstderrcmd &>> file.txt不适合我.

linux bash redirect pipe stream

1440
推荐指数
8
解决办法
70万
查看次数

如何检查Bash中是否设置了变量?

我如何知道Bash中是否设置了变量?

例如,如何检查用户是否将第一个参数提供给函数?

function a {
    # if $1 is set ?
}
Run Code Online (Sandbox Code Playgroud)

variables bash shell

1417
推荐指数
23
解决办法
119万
查看次数

如何迭代Bash中变量定义的一系列数字?

当变量给出范围时,如何在Bash中迭代一系列数字?

我知道我可以这样做(在Bash 文档中称为"序列表达式" ):

 for i in {1..5}; do echo $i; done
Run Code Online (Sandbox Code Playgroud)

这使:

1
2
3
4
5

但是,如何用变量替换任何一个范围端点?这不起作用:

END=5
for i in {1..$END}; do echo $i; done
Run Code Online (Sandbox Code Playgroud)

哪个印刷品:

{} 1..5

syntax bash shell for-loop

1409
推荐指数
18
解决办法
102万
查看次数

在Bash中循环遍历一串字符串?

我想编写一个循环遍历15个字符串的脚本(可能是数组?)这可能吗?

就像是:

for databaseName in listOfNames
then
  # Do something
end
Run Code Online (Sandbox Code Playgroud)

arrays bash shell

1371
推荐指数
15
解决办法
112万
查看次数

如何在Linux shell脚本中提示是/否/取消输入?

我想在shell脚本中暂停输入,并提示用户进行选择.标准的"是,否或取消"类型问题.如何在典型的bash提示符中完成此操作?

linux bash shell scripting

1352
推荐指数
25
解决办法
94万
查看次数

循环遍历Bash中的文件内容

如何使用Bash迭代文本文件的每一行?

使用此脚本:

echo "Start!"
for p in (peptides.txt)
do
    echo "${p}"
done
Run Code Online (Sandbox Code Playgroud)

我在屏幕上看到这个输出:

Start!
./runPep.sh: line 3: syntax error near unexpected token `('
./runPep.sh: line 3: `for p in (peptides.txt)'
Run Code Online (Sandbox Code Playgroud)

(后来我想做一些$p比输出到屏幕更复杂的事情.)


环境变量SHELL是(来自env):

SHELL=/bin/bash
Run Code Online (Sandbox Code Playgroud)

/bin/bash --version 输出:

GNU bash, version 3.1.17(1)-release (x86_64-suse-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
Run Code Online (Sandbox Code Playgroud)

cat /proc/version 输出:

Linux version 2.6.18.2-34-default (geeko@buildhost) (gcc version 4.1.2 20061115 (prerelease) (SUSE Linux)) #1 SMP Mon Nov 27 11:46:27 UTC 2006
Run Code Online (Sandbox Code Playgroud)

文件peptides.txt包含:

RKEKNVQ
IPKKLLQK
QYFHQLEKMNVK …
Run Code Online (Sandbox Code Playgroud)

unix linux io bash loops

1242
推荐指数
11
解决办法
145万
查看次数