我正在尝试使用echo命令在终端中打印文本.
我想以红色打印文本.我怎样才能做到这一点?
我们有一个PHP应用程序,并希望计算特定目录及其子目录下的所有代码行.我们不需要忽略评论,因为我们只是想弄清楚.
wc -l *.php
Run Code Online (Sandbox Code Playgroud)
该命令在给定目录中运行良好,但忽略子目录.我当时认为这可行,但它正在返回74,绝对不是这样......
find . -name '*.php' | wc -l
Run Code Online (Sandbox Code Playgroud)
提供所有文件的正确语法是什么?
我有一个非常简单的脚本,如下所示:
#!/bin/bash
VAR1="$1"
MOREF='sudo run command against $VAR1 | grep name | cut -c7-'
echo $MOREF
Run Code Online (Sandbox Code Playgroud)
当我从命令行运行此脚本并将参数传递给它时,我没有得到任何输出.但是,当我运行$MOREF变量中包含的命令时,我能够获得输出.
我想知道如何获取需要在脚本中运行的命令的结果,将其保存到变量,然后在屏幕上输出该变量?
如果我进行了更改.bashrc,如何在不注销并重新登录的情况下重新加载?
要将stdout重定向到Bash中的截断文件,我知道要使用:
cmd > file.txt
Run Code Online (Sandbox Code Playgroud)
要在Bash中重定向stdout,追加到文件,我知道要使用:
cmd >> file.txt
Run Code Online (Sandbox Code Playgroud)
要将stdout和stderr重定向到截断的文件,我知道要使用:
cmd &> file.txt
Run Code Online (Sandbox Code Playgroud)
如何重定向附加到文件的stdout和stderr?cmd &>> file.txt不适合我.
我如何知道Bash中是否设置了变量?
例如,如何检查用户是否将第一个参数提供给函数?
function a {
# if $1 is set ?
}
Run Code Online (Sandbox Code Playgroud) 当变量给出范围时,如何在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
我想编写一个循环遍历15个字符串的脚本(可能是数组?)这可能吗?
就像是:
for databaseName in listOfNames
then
# Do something
end
Run Code Online (Sandbox Code Playgroud) 我想在shell脚本中暂停输入,并提示用户进行选择.标准的"是,否或取消"类型问题.如何在典型的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)