是否可以调用下面在 bash 中声明的函数?
例子
if [ "$input" = "yes" ]; then
YES_FUNCTION
elif [ "$input" = "no" ]; then
NO_FUNCTION
else
exit 0;
fi
YES_FUNCTION()
{
.....
.....
}
NO_FUNCTION()
{
.....
.....
}
Run Code Online (Sandbox Code Playgroud) 注意:这适用于 Centos 7。如果您正在寻找 Debian 的答案,请参阅此问题。这些答案不会在这里重复。
安装 centos 7 后,我无法访问手册页:
# man ls
-bash: man: command not found
Run Code Online (Sandbox Code Playgroud)
我尝试通过 yum 安装它
# yum install man-pages
... ok
Run Code Online (Sandbox Code Playgroud)
但是再次:
# man ls
-bash: man: command not found
Run Code Online (Sandbox Code Playgroud)
为什么?
按照我的理解,$1是第一个字段。但奇怪的是,awk '$1=$1'省略了额外的空格。
$ echo "$string"
foo foo bar bar
$ echo "$string" | awk '$1=$1'
foo foo bar bar
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
[ -n "$PS1" ]in 的目的是什么[ -n "$PS1" ] && source ~/.bash_profile;?此行包含在.bashrcdotfiles repo的 a 中。
我有一个 Unicode 字符 ?,由它的 Unicode 代码点 16A0 表示,在一个文本文件中(文本文件被编码(?)为 utf-8)。
当我这样做时,grep '\u16A0' test.txt我没有结果。我如何 grep 那个字符?
我想在两个文件中搜索多个字符串。如果在两个文件中都找到一个字符串,则做一些事情。如果只在一个文件中找到一个字符串,那么做另一件事。
我的命令是下一个:
####This is for the affirmative sentence in both files
if grep -qw "$users" "$file1" && grep -qw "$users" "$file2"; then
####This is for the affirmative sentence in only one file, and negative for the other one
if grep -qw "$users" "$file1" ! grep -qw "$users" "$file2"; then
Run Code Online (Sandbox Code Playgroud)
否定和肯定这些陈述的方式是否正确?pd 我正在使用 KSH 外壳。
先感谢您。
我有一个foo带有子目录的目录。我希望在另一个目录中创建相同的子目录名称而不复制它们的内容。我该怎么做呢?
有没有办法将ls输出作为大括号扩展列表?
我-x在执行 shell 脚本时用于调试信息。
如何将调试信息仅重定向到文件?
示例脚本:
#!/bin/bash
echo OK
echo NO
Run Code Online (Sandbox Code Playgroud)
当我在调试模式下运行时,我会得到以下结果
+ echo OK
OK
+ echo NO
NO
Run Code Online (Sandbox Code Playgroud)
我只想将调试信息重定向到文件。
+ echo OK
+ echo NO
Run Code Online (Sandbox Code Playgroud)
运行时输出应该打印在屏幕上。
OK
NO
Run Code Online (Sandbox Code Playgroud) 说,我有'a.txt'。我想复制文件并使用 VI 打开新复制的文件。
cp a.txt b.txt
vi b.txt
Run Code Online (Sandbox Code Playgroud)
如何将这两个命令组合在一个命令中?
我有一个文件,如:
ID_SOUR_CALENDAR BIGINT NOT NULL DEFAULT 0 COMPRESS 0 ,
UNIQUE PRIMARY INDEX ( CALENDAR_DATE );
ID ,
ID_SOUR ,
PRIMARY INDEX ( CALENDAR_DATE );
Run Code Online (Sandbox Code Playgroud)
我想在包含 PRIMARY 的行之前的行中用 ')' 替换 ','。
结果应该是:
ID_SOUR_CALENDAR BIGINT NOT NULL DEFAULT 0 COMPRESS 0 )
UNIQUE PRIMARY INDEX ( CALENDAR_DATE );
ID ,
ID_SOUR )
PRIMARY INDEX ( CALENDAR_DATE );
Run Code Online (Sandbox Code Playgroud)