Questions tagged «bash»

Bash是来自GNU Project的类Unix操作系统的免费外壳。

8
如何在Mac上排队多个文件进行复制?
当我在Mac上复制多个文件时,系统会尝试同时复制所有文件。这个问题有两个方面。 首先,当您选择多个文件并复制它们时,它们都会以“全有或全无”的方法进入一个进程,这与数据库中的ACID不同。通常这是不可取的。 此外,当您添加其他复制过程时,系统会尝试同时复制所有内容。 例如,我决定复制一个大文件A,然后再决定复制一个大文件B。这导致两次并行复制操作,而不管“大文件”之一是否也是许多文件的选择。 我不喜欢这样做有几个原因: 当多个复制进程同时运行时,似乎会使其他进程陷入困境。 同样,当同时复制多个文件时,复制过程本身似乎要慢得多。 最后,如果该过程中止,则没有文件到达其目的地。 将文件添加到队列时,它还将立即开始复制,并进一步拖延该过程。 当复制到(本地)网络上的其他计算机或驱动器时,这是一个实际的问题。 结果:A我要首先传输和使用的文件到达所需的时间比所需的时间长得多,并且从LAN上的中央HD复制时,除非所有其他文件也都到达了,我才能使用第一个文件。 因此...如何在Mac上排队多个文件进行复制?需要说明的是:无论选择了多少文件,还是一个一个地添加它们,我都希望它们全部放入一个队列中,一次只能复制一个文件,直到完成队列。 也欢迎使用Bash,尤其是Perl回答!



4
登录到服务器后Bash提示更改颜色
有没有一种方法可以使bash提示符动态化,以便在登录服务器时更改颜色? 因此,我希望在系统上时该颜色为绿色,并在连接到服务器时变为红色。我有大量的服务器,不想.bashrc在所有这些服务器上使用不同的服务器。
15 bash  shell  colors  bashrc 

2
子进程中的Ctrl + c会在脚本的前面杀死一个nohup'ed进程
我不知道这是否属于SO(因为它是一个编码错误),但我想你们会更了解所用软件的精妙之处(因此甚至可以考虑U&L)。 这是最小的代码脚本(请参阅完整脚本的编辑,这是我这样做的一个原因); #/bin/bash nohup {SERVERCOMMAND} > currentOutput.log 2>&1 & less +F currentOutput.log 它试图做的是在后台运行服务器,该服务器输出到日志文件。 然后我follow使用该日志文件less +F。这样做时,要退出此窗口,必须先按ctrl+,c然后才能按Q。 会发生什么事,当我ctrl+ c内部less命令(以停止tailing),它以某种方式杀死开始与服务器nohup在顶部!没有其他影响。我可以shift+ f重新开始跟踪日志(由于服务器被杀死,因此没有任何新信息),如果我命中Q了该脚本,其余脚本将正常执行。 你知道为什么会这样吗?如何避免它/我应该使用的其他东西? PS 服务器程序可能正在侦听^C,这可能是问题所在;有什么我可以阻止的吗?就像,当我{SERVERCOMMAND}独自(以阻塞方式)运行时,我可以按ctrl+ c,但不会立即杀死它;它打印Received ^C signal, shutting down(然后杀死自己)。这是我^C进入时发生的情况less(将最终结果Received ^C signal, shutting down写入日志)。 PPS 我一直在尝试许多事情(无济于事); 尝试通过更改从脚本断开标准输入 nohup {SERVERCOMMAND} > currentOutput.log 2>&1 & to nohup echo '' | {SERVERCOMMAND} > currentOutput.log 2>&1 & or …
15 linux  bash  less  nohup 

4
bash:彩色手册页
我必须在系统中的哪些位置查看以对手册页进行着色? 手册页的显示较少,因此我尝试在.bashrc中添加以下几行以更改颜色:(顺便说一句,效果很好)。 # # L E S S C O L O R S F O R M A N P A G E S # # CHANGE FIRST NUMBER PAIR FOR COMMAND AND FLAG COLOR # currently 0;33 a.k.a. brown, which is dark yellow for me export LESS_TERMCAP_md=$'\E[0;33;5;74m' # …
15 bash  shell  colors  pager  man 

3
如何用echo打印换行符?
我用hexdump这样的方式转储字符串2031 3334 2e30 0a32 2032 3331 302e 000a。很明显,这0x0a是换行符,但是,当我尝试回显此字符串时,总会得到1 430.2 2 13.0-用空格替换新行,即使我使用了-e标志。 可能是什么问题?拖尾会\0破坏输出吗?是否有其他选择来打印0x0a新行? 谢谢和最好的问候。

4
查找设置了ACL的文件
如何找到所有设置了一些扩展ACL的文件,即+在所示的权限标志的末尾有一些ACL的文件ls -l。 我找不到对应的标志find。我的幼稚方法将find与ls -l和相结合grep。但我认为这不好。 有人有主意吗?
15 linux  bash  find  acl 

2
为什么在运行脚本时找不到[[:未找到?
我正在尝试编写一个脚本,该脚本必须检查文件是否存在。在控制台中,我写 if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi 我得到 not mod 但是当我编写脚本执行相同的操作时: #!/bin/sh if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi 然后执行脚本,我得到以下信息: ./ex.sh: 2: [[: not found mod 我将脚本保存在当前目录中,并将其命名为ex.sh,然后确保该脚本可执行。要调用脚本,我需要这样做: ./ex.sh 为什么会出现这个问题?我已经尝试了很多东西: if [ -a /home ... 和 if test …

5
登录Ubuntu时如何自动执行Shell脚本
登录后如何使脚本自动执行?不是在机器启动时(不是针对所有用户),而是仅当我(或具有脚本的任何特定用户)通过GNOME UI登录时。 从其他地方看,我认为它.bash_profile在我的主目录中,但是对我来说没有任何作用。当我在终端窗口中通过键入手动执行它时,~/.bash_profile它可以工作,但是登录后它不会自动运行。 我正在运行Ubuntu 11.04。我的.bash_profile的文件许可权为-rwx------。在我今天创建它之前,我的主目录中不存在.bash_profile。 我似乎记得较早版本的Linux,.profile每个用户都有一个文件,但这也不起作用。 怎么做?我是否需要配置其他内容才能使.bash_profile运行?还是按用户登录脚本需要在其他文件中?

6
如何检查cygwin mintty / bash是否以管理员身份运行?
问题陈述:测试Cygwin mintty bash会话是否为“以管理员身份运行” 的最优雅,最可靠的方法是什么? 为什么呢?mintty使用Windows时,我通常会打开几个终端(mintty没有选项卡)。最尴尬的是,当我需要找到一个通过右键单击“以管理员身份运行”而启动的终端窗口时,例如,当我想运行ping或执行其他一次性过程时。我想直观地指出终端会话的“以管理员身份运行”(通过更改启动文件中的bashshell提示变量)。PS1~/.bashrc 一些快速的潜在解决方案: 我可以比较一些环境变量的值。通过快速查看env输出,可以发现很多差异。但是,就移植到另一台Windows机器(也许运行不同版本的Windows)而言,很难确定哪个最可靠。 id,更具体地说,id -Gn如果以管理员身份运行,则显示不同的组。在我的Windows 7计算机中,我Administrators和root组已添加到列表中。同样,我不确定这是否可移植。 我可以尝试将文件写入到普通用户失败的位置。但是我不想将任何文件写到陌生的地方-在某些想像的情况下这可能会造成破坏性的破坏(例如存储介质故障),这似乎完全不符合我的口味。 运行一些Windows程序,如果该命令是以“管理员身份”运行的,则将通过返回状态或输出来指示。最好的用途与UNIX id(1)命令的用途类似(但本机存在于Windows-或Cygwin中,但没有将Windows系统概念转换为POSIX仿真概念)。 还有更好或更优雅的建议吗?也许cygwin提供了专用于此目的的命令实用程序? 更新: 97%重复/programming/4051883/batch-script-how-to-check-for-admin-rights/-区别只是在这里使用bash而不是(恕我直言,怪异而古怪的)Windows cmd.exe。请在此处检查答案和评论。

4
pip不适用于hombrew python 2.7安装
我已经使用自制软件安装了python,但无法从bash中调用pip。我尝试过修改.bash_profile,使其包括/ usr / local / bin / python和/ usr local / share / python都无济于事。 当我使用bash命令时: find / -name 'pip' 我得到的唯一结果是: /Library/Python/2.7/site-packages/pip-1.5.6-py2.7.egg/pip /Users/Ivan/Library/Caches/pip /Users/Ivan/Library/Logs/pip /usr/local/Cellar/python/2.7.9/libexec/pip /usr/local/Cellar/python/2.7.9/libexec/pip/pip /usr/local/lib/python2.7/site-packages/pip 都不是可执行文件。 我真的不知道将$ PATH指向何处,因为找不到pip可执行文件。当我打开 /usr/local/lib/python2.7/site-packages/pip 要么 /usr/local/Cellar/python/2.7.9/libexec/pip/pip 我找到以下文件: __init__.py commands operations __init__.pyc compat pep425tags.py __main__.py download.py pep425tags.pyc __main__.pyc download.pyc req _vendor exceptions.py status_codes.py basecommand.py exceptions.pyc …
15 macos  bash  python  homebrew  pip 

4
在Powershell中是否有Bash的Ctrl + Z和fg的类似物?
我发现Ctrl + Z和随后在Bash上的fg的组合非常方便,就像alt + tab的命令行模拟一样,因此我可以从查看一个文件切换到正在运行的进程的输出,等等。 Windows Powershell是否有类似物?除了“暂停”,我什么也不能搜索,它只是停止当前正在运行的进程,但不允许我切换到命令行然后再返回。

3
.profile启动bash终端时未运行
当我启动bash终端时,我的.profile没有被执行。我没有〜/ .bash_profile或〜/ .bash_login,因此.profile应该可以运行,对吗?还有什么可能是错的?
15 bash  .profile 

2
如何检查启用了哪些SysRq功能?
该文件/proc/sys/kernel/sysrq包含一个数字,例如: 1 (启用所有SysRq命令), 0 (禁用所有), 或基数为10的正整数,用作二进制位掩码,从而启用功能的子集。 有人可以告诉我,当位掩码设置为时,允许/禁止使用哪些SysRq函数438吗? $ cat /proc/sys/kernel/sysrq 438

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.