问题列表 - 第6页

如果命令成功或失败,如何有条件地做某事

我怎样才能在 bash 中做这样的事情?

if "`command` returns any error";
then
    echo "Returned an error"
else
    echo "Proceed..."
fi
Run Code Online (Sandbox Code Playgroud)

bash control-flow

437
推荐指数
5
解决办法
75万
查看次数

Bash 运算符 [[ vs [ vs ( vs ((?

我对这些运算符在 bash 中使用时有何不同(括号、双括号、括号和双括号)感到有些困惑。

[[ , [ , ( , ((
Run Code Online (Sandbox Code Playgroud)

我见过人们在这样的 if 语句中使用它们:

if [[condition]]

if [condition]

if ((condition))

if (condition)
Run Code Online (Sandbox Code Playgroud)

shell bash test

436
推荐指数
6
解决办法
19万
查看次数

登录 Shell 和非登录 Shell 的区别?

我了解交互式 shell 和非交互式 shell 之间的基本区别。但是,登录 shell 与非登录 shell 的确切区别是什么?

你能举例说明非登录交互式shell 的使用吗?

shell login

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

反向 SSH 隧道如何工作?

据我了解,防火墙(假设默认设置)拒绝所有没有先前对应的传出流量的传入流量。

基于Reversing an ssh connectionSSH Tunneling Made Easy,反向 SSH 隧道可用于绕过烦人的防火墙限制。

我想在远程机器上执行 shell 命令。远程机器有自己的防火墙,并在附加防火墙(路由器)后面。它有一个像 192.168.1.126(或类似的东西)这样的 IP 地址。我不在防火墙后面,我知道从 Internet 上看到的远程机器的 IP 地址(不是 192.168.1.126 地址)。此外,我可以要求某人ssh (something)首先在远程机器上以 root身份执行。

谁能一步一步地向我解释反向 SSH 隧道如何绕过防火墙(本地和远程机器的防火墙以及它们之间的附加防火墙)?

开关 ( -R, -f, -L, -N)的作用是什么?

networking ssh firewall remote-management ssh-tunneling

432
推荐指数
4
解决办法
30万
查看次数

如何从组中删除用户?

我应该使用哪个命令从 Debian 的组中删除用户?

将用户添加到组时,可以通过以下方式完成:

usermod -a -G group user
Run Code Online (Sandbox Code Playgroud)

但是,我找不到用于从组中删除用户的类似命令(接受组和用户作为参数)。我能得到的最接近的是:

usermod -G all,existing,groups,except,for,group user
Run Code Online (Sandbox Code Playgroud)

是否有像usermod OPTION group userOPTION这样的命令可以使usermod(或类似程序)从组中删除用户?

users group

430
推荐指数
4
解决办法
85万
查看次数

如何删除名称以“-”(连字符又名破折号或减号)开头的文件?

如何删除文件名以破折号(连字符或减号)开头的文件-?我通过 ssh 连接到远程 OSX 服务器,并且我的目录中有这个文件:

tohru:~ $ ls -l
total 8
-rw-r--r--    1 me  staff  1352 Aug 18 14:33 --help
...
Run Code Online (Sandbox Code Playgroud)

我怎么--help能从 CLI 中删除?这个问题是我偶尔以不同形式遇到的问题,这些文件很容易创建,但很难摆脱。

我试过使用反斜杠

rm \-\-help
Run Code Online (Sandbox Code Playgroud)

我试过引号

rm "--help"
Run Code Online (Sandbox Code Playgroud)

如何防止将减号(破折号或连字符)字符解释为选项?

command-line shell options quoting rm

428
推荐指数
6
解决办法
18万
查看次数

为什么不使用“哪个”?那用什么?

当寻找的路径,可执行文件或检查,如果你在Unix shell中输入命令的名称会发生什么,有不同的公用事业过多(whichtypecommandwhencewherewhereiswhatishash,等)。

我们经常听说which应该避免。为什么?我们应该用什么来代替?

shell history which portability

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

我什么时候不应该杀死 -9 进程?

我总是很犹豫要不要跑kill -9,但我看到其他管理员几乎是例行公事。

我认为可能有一个明智的中间立场,所以:

  1. 何时以及为何应kill -9使用?什么时候,为什么不呢?
  2. 在做之前应该尝试什么?
  3. 什么样的调试“挂起”进程会导致进一步的问题?

linux command-line kill process-management

419
推荐指数
9
解决办法
19万
查看次数

如何将命令行参数传递给 shell 脚本?

我知道 shell 脚本只是运行命令,就好像它们是在命令提示符下执行的一样。我希望能够像运行函数一样运行 shell 脚本......也就是说,将输入值或字符串带入脚本中。我该如何处理?

command-line shell-script function

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

刷新在 vi(m) 中打开的文件的更改内容

我有一个在 vim 中保持打开的配置文件,但有时会在磁盘上更改,而这些更改不会反映在终端上。我可以在不关闭和重新打开文件的情况下刷新屏幕上的内容吗?如果是这样,如何?

vim

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