Questions tagged «shell»

Shell是Unix的命令行界面。您可以交互地在外壳程序中键入命令,也可以编写脚本来自动执行任务。使用此标记可解决适用于/ bin / sh和大多数兼容shell(ash,bash,ksh,zsh等)的问题。对于有错误的Shell脚本,请在此处发布之前在http://shellcheck.net中对其进行检查。

8
如何将stdout发送到多个命令?
我认为有些命令会过滤或作用于输入,然后将其作为输出传递给我stdout-但是有些命令只会接受stdin和并对其执行任何操作,而不会输出任何内容。 我对OS X最熟悉,因此立即想到的是pbcopy和pbpaste-这是两种访问系统剪贴板的方法。 无论如何,我知道如果我要输出stdout并把输出吐到两个stdout文件中,则可以使用tee命令。而且我对有所了解xargs,但我认为这不是我想要的。 我想知道如何stdout在两个(或多个)命令之间进行拆分。例如: cat file.txt | stdout-split -c1 pbcopy -c2 grep -i errors 可能有比该示例更好的示例,但是我真的很想知道如何将stdout发送到不中继该命令的命令,同时又避免stdout被“静音”-我不是在问如何对cat文件和grep部分并将其复制到剪贴板-具体命令不是那么重要。 另外-我不是在问如何将其发送到文件,并且stdout-这可能是一个“重复”的问题(对不起),但是我进行了一些查找,只能找到正在询问如何在stdout和文件之间进行拆分的类似问题。 -这些问题的答案似乎是tee,我认为这对我不起作用。 最后,您可能会问:“为什么不使pbcopy成为管道链中的最后一件事?” 我的回答是1)如果我想使用它并仍然在控制台中看到输出怎么办?2)如果我要使用两个stdout在处理输入后不输出的命令怎么办? 哦,还有一件事-我意识到我可以使用tee一个命名管道(mkfifo),但是我希望可以通过一种简洁的方式内联地完成此操作,而无需事先设置:)

8
在shell脚本上允许setuid
该setuid权限位告诉Linux与业主,而不是执行者的有效用户ID运行程序: > cat setuid-test.c #include <stdio.h> #include <unistd.h> int main(int argc, char** argv) { printf("%d", geteuid()); return 0; } > gcc -o setuid-test setuid-test.c > ./setuid-test 1000 > sudo chown nobody ./setuid-test; sudo chmod +s ./setuid-test > ./setuid-test 65534 但是,这仅适用于可执行文件。Shell脚本忽略setuid位: > cat setuid-test2 #!/bin/bash id -u > ./setuid-test2 1000 > …


7
在命令的每行输出前添加时间戳
我希望在命令输出的每一行前添加一个时间戳。例如: foo bar baz 会成为 [2011-12-13 12:20:38] foo [2011-12-13 12:21:32] bar [2011-12-13 12:22:20] baz ...这里的前缀时间是打印行的时间。我该如何实现?
182 shell  timestamps 



8
/ sbin / nologin和/ bin / false之间有什么区别
从技术上讲,除非pam您设置为不检查您的外壳,否则pam_shells,如果您不在外壳上,则这两种方法均无法阻止您的登录。在我的系统上,它们的大小甚至不同,因此我怀疑它们实际上在做什么。那有什么区别呢?他们为什么都存在?为什么我要一个使用另一个? -rwxr-xr-x 1 root root 21K Feb 4 17:01 /bin/false -rwxr-xr-x 1 root root 4.7K Mar 2 14:59 /sbin/nologin
169 shell  security  login 


5
如何挂起后台进程并将其置于前台
我有一个最初在前台运行的进程。我先按Ctrl+ 暂停Z,然后按继续在后台运行bg <jobid>。 我想知道如何暂停在后台运行的进程? 如何使后台进程成为前台? 编辑: 该进程输出到stderr,那么fg <jobid>当该进程输出到终端时我应该如何发出命令?

6
运行被别名遮盖的命令
假设我在bash中具有以下别名alias ls='ls --color=auto'--我想ls不带选项地调用普通对象。唯一的方法就是取消别名,先执行命令,然后再次别名吗?还是有一些漂亮的技巧或解决方法?
163 bash  shell  alias 

10
每行管道输入执行一次命令?
我想为的每次匹配都运行一次Java命令ls | grep pattern -。在这种情况下,我想我可以做,find pattern -exec java MyProg '{}' \;但是我对一般情况感到很好奇-是否有一种简单的方式说“每行标准输入运行一次命令”?(以鱼或b)。
161 bash  shell  fish 


2
有停止的作业(在bash出口上)
There are stopped jobs.有时我尝试退出bash shell时会收到消息。这是python 2.x中的可重现场景: ctrl+ c由解释器作为异常处理。 ctrl+ z“停止”过程。 ctrl+ d退出python以获取实数。 这是一些实际的终端输出: example_user@example_server:~$ python Python 2.7.3 (default, Sep 26 2013, 20:03:06) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> ctrl+z [1]+ Stopped python example_user@example_server:~$ exit logout There are stopped jobs. Bash没有退出,我必须exit再次退出Bash Shell。 问:什么是“停工”,这是什么意思? …
157 bash  shell  process 

7
如何用mv覆盖目标文件?
我想移到父目录的子目录中有大量文件和目录。目标目录中已经有一些文件和目录需要覆盖。仅存在于目标中的文件应保持不变。我可以强迫mv这样做吗?(mv * ..)抱怨 mv: cannot move `xyz' to `../xyz': Directory not empty 我想念什么?

9
如何确定环境变量来自何处?
我有一个前一段时间设置的Linux实例。当我启动并登录时root,我设置了一些环境变量,但我不记得或找不到它们的来源。 我已经检查了~/.bash_profile,/etc/.bash_rc和所有启动脚本。 我已经跑了find,grep但无济于事。 我觉得我必须忘记在某个明显的地方看起来。有解决这个问题的技巧吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.