标签: bash

是否有一个 bash 内置命令可以显示当前 shell 的环境变量?

env并且printenv都是外部命令,即可执行文件,而不是 bash 内置命令。它们的问题_在于它们输出的一些环境变量(例如,我也想知道是否还有更多)不属于调用它们的 shell,请参见此处

bash environment-variables shell-builtin

-3
推荐指数
1
解决办法
385
查看次数

为什么命令“ls”的退出状态与 bash 和 csh shell 不同?

为什么bashcsh shellexit status不同?,在man 中:ls

Exit status:
       0      if OK,

       1      if minor problems (e.g., cannot access subdirectory),

       2      if serious trouble (e.g., cannot access command-line
              argument).
Run Code Online (Sandbox Code Playgroud)

为了测试exit status命令ls,假设我们ss在一个文件夹中保存了一个名为的文件。让我们使用通配符根据其字符的状态列出此文件?

在 csh 外壳中:

ls -d ss
ss

ls -d s?
ss

ls -d ?s
ss

ls -d ?z
ls: No match.

ls -d ?z | echo $?  #check exit status
0
Run Code Online (Sandbox Code Playgroud)

在 Bash 中:

ls -d ss
ss …
Run Code Online (Sandbox Code Playgroud)

ls shell bash

-3
推荐指数
1
解决办法
860
查看次数

.bashrc 语法错误:文件意外结束

每次运行终端时,我都会收到此错误消息“.bashrc 语法错误:文件意外结束”

所以我开始评论它的一部分以了解问题,我猜它在下面的 if 条件中。我想知道如何编辑它才能工作?

if ("1" == "$?LD_LIBRARY_PATH") then
        if ("$LD_LIBRARY_PATH" !~ */usr/local/iscir/lib*) then
                export LD_LIBRARY_PATH /usr/local/iscir/lib:$LD_LIBRARY_PATH
        endif
else
        export LD_LIBRARY_PATH /usr/local/iscir/lib
endif
Run Code Online (Sandbox Code Playgroud)

我试过这个,但没有像

if ["1" == "$?LD_LIBRARY_PATH"]; then
        if ["$LD_LIBRARY_PATH" !~ */usr/local/iscir/lib*]; then
                export LD_LIBRARY_PATH /usr/local/iscir/lib:$LD_LIBRARY_PATH
        fi
else
        export LD_LIBRARY_PATH /usr/local/iscir/lib
fi
Run Code Online (Sandbox Code Playgroud)

bash bashrc

-3
推荐指数
1
解决办法
1417
查看次数

丢弃包含特定字符的行

如何从包含字符“H”的文件中删除行?该文件包含以下列:

H1
N1
H2
C1
H3
H4
C2
H5
H6
N2
H7
C3
H8
H9
C4
H10
H11
N3
H12
C5
H13
H14
C6
H15
H16
Run Code Online (Sandbox Code Playgroud)

期望的输出是:

N1
C1
C2
N2
C3
C4
N3
C5
C6
Run Code Online (Sandbox Code Playgroud)

bash text

-3
推荐指数
1
解决办法
57
查看次数

if...else...if 语句(未找到命令错误)

有人能告诉我这个循环有什么问题吗?

在此处输入图片说明

我的错误在第 107 行(循环的第一行)。它说:

[V2016057174800:找不到命令。

我试图从两个不同的文档中关联两个相同的文件名(如果有道理的话)。

shell bash

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

bash: '导出: 找不到命令

每次打开新终端都会出错,

错误:“bash:'导出:找不到命令”

我只复制export all_proxy="" 和export ALL_PROXY="" 到终端,然后当我打开一个新终端时,会出现如图所示的情况。

这是图片:

在此处输入图片说明

我输入命令:

grep export ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

输出:

在此处输入图片说明

我输入命令:

env SHELLOPTS=xtrace \
    BASH_XTRACEFD=7 \
    PS4='[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> ' \
    7> >(grep ‘) bash -l
Run Code Online (Sandbox Code Playgroud)

输出:

在此处输入图片说明

bash

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

如何使用kali linux绕过防火墙?

我开始通过使用 kali linux 学习道德黑客攻击,我正在使用多个虚拟机来实现对它们的攻击,但我必须禁用它们上的防火墙和防病毒软件才能完成攻击或利用。

我想知道......黑客如何绕过防火墙?嗯……我还在学习,我想完成这样的事情。任何想法或方法?

谢谢

linux shell security bash kali-linux

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

bash中的printf命令

printf "%50s\n" " I ate 4 eggs"
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我想从一个变量中分配 50。以及如何在 bash 的 for 循环中使用变量?

任何的想法?

bash printf

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

进程替换是否需要双引号?

双引号命令替换是一个很好的做法。进程替换(<()>())是否相同?

双引号似乎允许命令替换,但不允许进程替换:

$ echo <(printf "%s" hello)
/dev/fd/63
$ echo "<(printf "%s" hello)"
<(printf %s hello)
Run Code Online (Sandbox Code Playgroud)

如果任何进程替换的结果包含空格,或者这永远不会发生怎么办?

谢谢。

bash quoting process-substitution

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

以下 shell 选项的含义是什么 - shopt -s nullglob extglob

我们有

 bash -version
GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu)
Run Code Online (Sandbox Code Playgroud)

以下 shell 选项的含义是什么(在 bash 脚本中)

shopt -s nullglob extglob
Run Code Online (Sandbox Code Playgroud)

取消它的相反方法是什么?

linux shell bash shell-script

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