标签: shell

bash中的双方括号和单方括号有什么区别?

我只是想知道两者之间到底有什么区别

[[ $STRING != foo ]]
Run Code Online (Sandbox Code Playgroud)

[ $STRING != foo ]
Run Code Online (Sandbox Code Playgroud)

除此之外,后者是符合 POSIX 的,可在 sh 中找到,而前者是在 bash 中找到的扩展。

scripting shell bash posix

509
推荐指数
5
解决办法
24万
查看次数

Shell 命令监视文件中的更改

我知道 Unix 上有一个命令可以用来监视文件并查看写入文件的更改。这对于检查日志文件非常有用。

你知道它叫什么吗?

linux shell

192
推荐指数
8
解决办法
32万
查看次数

'set -e' 有什么作用,为什么它会被认为是危险的?

这个问题出现在面试前的测验中,这让我很抓狂。任何人都可以回答这个问题,让我放心吗?测验没有提到特定的 shell,但工作描述是针对 unix sa 的。问题再次很简单......

'set -e' 有什么作用,为什么它会被认为是危险的?

linux unix shell

157
推荐指数
6
解决办法
12万
查看次数

什么是“-bash: !”:事件未找到”

尝试在 bash shell 下执行以下命令 echo "Reboot your instance!"

在我的安装中:

root@domU-12-31-39-04-11-83:/usr/local/bin# bash --version
GNU bash, version 4.1.5(1)-release (i686-pc-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
root@domU-12-31-39-04-11-83:/usr/local/bin# uname -a
Linux domU-12-31-39-04-11-83 2.6.35-22-virtual #35-Ubuntu SMP Sat Oct 16 23:57:40 UTC 2010 i686 GNU/Linux
root@domU-12-31-39-04-11-83:/usr/local/bin# echo "Reboot your instance!"
-bash: !": event not …
Run Code Online (Sandbox Code Playgroud)

scripting linux shell bash

151
推荐指数
6
解决办法
22万
查看次数

如何向 bash 脚本日志添加时间戳?

我有一个不断运行的脚本,我输出到日志文件:

script.sh >> /var/log/logfile
Run Code Online (Sandbox Code Playgroud)

我想在附加到日志的每一行之前添加一个时间戳。喜欢:

Sat Sep 10 21:33:06 UTC 2011 The server has booted up.  Hmmph.
Run Code Online (Sandbox Code Playgroud)

有什么柔术可以用吗?

linux shell bash logging

124
推荐指数
9
解决办法
35万
查看次数

减少管道后bash中的颜色?

当我有 dircolors 定义的生活充满了......颜色。

当我ls通过管道less滚动时,我失去了颜色。

有什么建议?

linux shell bash ls less

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

我怎样才能杀死所有停止的工作?

当我尝试退出 Linux 服务器时,我收到以下消息:

有停止的工作。

: 有没有一个命令可以杀死这些?

linux shell

111
推荐指数
8
解决办法
24万
查看次数

如何以 /usr/sbin/nologin 作为 Shell 的用户身份运行命令?

我需要做的就是以特定用户身份运行特定脚本,该用户nologin/false/etc/passwd.

我会以 root 身份运行脚本,这应该以另一个用户身份运行。跑步:

~# su -c "/bin/touch /tmp/test" testuser
Run Code Online (Sandbox Code Playgroud)

会工作,但我需要一个有效的测试用户外壳。我知道我可以禁用密码passwd -d testuser并将外壳保留为/bin/bash这种方式会安全一点,但我需要有nologin/false外壳。

基本上我需要的是crontab当我们将作业设置为以特定用户身份运行时会做什么,而不管这个用户是否有nologin/falseshell。

ps 我发现这个线程Executing a command as a nologin user,但我不知道如何concatenate将命令su -s /bin/sh $user发送到我需要运行的脚本。

linux su login shell bash

104
推荐指数
3
解决办法
14万
查看次数

在 CentOS 中向 $PATH 添加目录?

我们刚刚启动了我们的新服务器,并且我们正在所有这些服务器上运行 CentOS。成功安装 Ruby Enterprise Edition 后,我现在想添加 REE /bin(位于/usr/lib/ruby-enterprise/bin)目录,使其成为服务器上的默认 Ruby 解释器。

我尝试了以下操作,它只会将其添加到当前的 shell 会话中:

export PATH=/usr/lib/ruby-enterprise/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

所有用户永久添加此目录的正确方法是什么?我目前以.$PATHroot

configuration shell centos root path

100
推荐指数
3
解决办法
26万
查看次数

shell 命令上的单破折号和双破折号标志有什么区别?

我是在 shell 中工作的新手,这些命令的使用似乎是随意的。有没有原因一个标志有一个破折号而另一个可能有双破折号?

shell

92
推荐指数
4
解决办法
5万
查看次数

标签 统计

shell ×10

linux ×7

bash ×5

scripting ×2

centos ×1

configuration ×1

less ×1

logging ×1

login ×1

ls ×1

path ×1

posix ×1

root ×1

su ×1

unix ×1