Questions tagged «bash»

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



1
从脚本填充命令行
我有一个经过很多复杂处理的PHP脚本,最后生成了一个供用户运行的命令。现在,它会打印命令,然后退出。用户必须复制该命令并将其粘贴以运行它。因为PHP命令是在命令行上运行的,所以如果PHP脚本能够将命令放在命令行上,则对用户来说将更加容易。用户只需按Enter。(是的,这是必须由人来运行命令,否则我只能从脚本内部执行命令。) 我尝试使用xclip将命令复制到剪贴板。挂了 我用exec和system来运行它。要运行的命令在$ command中,我使用了: exec("echo \"$command\" | xclip"); 使用exec和system时,它都将挂起,直到我按下ctrl-C并且剪贴板中没有任何内容。 更新我发现,如果我通过命令将xclip传递到/ dev / null,它不会挂起。然后,我可以将其添加到用户的剪贴板中,他/她可以使用ctrl + shift + v运行它 exec("echo \"$command\" | xclip -sel clip -i > /dev/null"); 我尝试将整个内容包装在命令行中的复杂脚本中,拖尾输出的最后一行,然后尝试将其粘贴到命令行中。我可以得到它来打印命令,但是不能在命令行上显示。它总是打印命令,然后命令行出现在其下方。 我在命令行中使用BASH。因此,任何解决方案都必须在bash shell中工作-假设有解决方案。

2
可能会受到打击吗?将命令扩展转换为参数
是bash命令扩展的唯一选项: 不带引号$(..)的输出总是使用哑字符串分割来解析,或者 引用"$(..)"其输出始终作为单位传递? 我试图用bash复制我创建的要在Mac OS上使用的鱼壳函数。我的fish函数selection https://superuser.com/a/1165855在最前面的窗口中进行选择,并输出用于命令替换的路径,例如ls -l (selection)。我希望在bash中实现相同的目的ls -l $(selection)。 我认为这只是引用问题,因此尝试将换行分隔的路径传递给bash的路径printf "%q "。但是我发现无论用什么引号包裹命令替换输出,它都会在空格处分开。 简化示例: $ touch file\ a file\ b $ ls $( echo "file\ a file\ b" ) # want expansion equiv to: ls 'file a' 'file b' ls: a: No such file or directory ls: b: No such …

1
使用tmux作为管理员服务管理多个下载器?
我有许多数据服务器,我需要通过http下载这些数据服务器。对于每个服务器,我启动一个bash“ while true”循环,并在其中循环wget轮询服务器以获取新数据。要启动所有bashs,我创建了一个tmux配置,为每个循环(例如loop和)启动一个窗口wget。这增加了更容易检查正在发生的事情的好处。 我想supervisor从此配置创建-service,这将允许我立即启动,停止和重新启动该服务tmux及其下载客户端。 但是,当我退出时tmux,根据和的本质tmux,bash它们和它们wget继续运行。有没有办法解决这个问题,所以我可以用简单的方法退出所有内容并重新启动所有内容supvervisorctl tmuxservice restart?
linux  bash  tmux  wget 

2
在Linux bash中将两个标准输出重定向到一个标准输入
我有一个从stdin读取并执行一些操作的C程序。要求我定期(每20秒)输入信息,并在进行某些测试时保持用户交互不变。 不修改C程序就可以吗?我已经完成了一个shell脚本,该脚本定期回显信息(到其stdout),所以这个想法是将这个shell和普通的stdin仅连接到一个stdin(反三通)。 我试过(./periodic.sh; cat)> ./myprogram,因为它正在等待脚本结束(反之亦然),所以它不起作用。

1
Ubuntu命令行中的VIM zsh,bash和颜色
调用系统命令时,VIM命令行存在问题。例如!ls,VIM不会解析所有命令输出颜色。我的系统是来自Ubuntu存储库的带有VIM 7.3.429的Ubuntu 12.04 LTS。 有没有解决此问题的方法? 编辑: 我的vimrc文件 :!echo $TERM 在VIM中返回: dumb EDIT2: 我找到了一个简单的解决方法,但这并不完美 if [ "$VIM" ] && [ "$TERM" = "dumb" ] then # For gvim's monochromatic :shell PS1='\n\u@\h \w\n\$ ' unalias ls unalias grep fi (它正在bash上工作)
linux  bash  vim  shell  zsh 

1
无法安装Solaris上的CVS客户端
尝试安装CVS时,出现以下错误: bash-3.2$ ls cvs-1.12.13-sol10-x86-local cvs-1.12.13-sol10-x86-local.gz local.cshrc local.login local.profile bash-3.2$ pfexec /usr/sbin/pkgadd –d /dev2/home/ashish cvs-1.12.13-sol10-x86-local.gz pkgadd: ERROR: no packages were found in /var/spool/pkg bash-3.2$ pfexec /usr/sbin/pkgadd –d /dev2/home/ashish/cvs-1.12.13-sol10-x86-local.gz pkgadd: ERROR: no packages were found in /var/spool/pkg bash-3.2$ pfexec /usr/sbin/pkgadd –d /dev2/home/ashish pkgadd: ERROR: no packages were found in /var/spool/pkg 请提出可能遗漏的内容,我还能做/尝试什么?
bash  solaris  cvs 

1
如何获得“应用程序支持”文件夹的管理员特权以创建Symlink?
我想在/ Library / Application Support中使用符号链接将所有Apple Logic的示例和循环放在外部驱动器上。我以前在其他Sierra系统上完成了此操作,没有任何问题,但是在这个新的Sierra系统上,我收到了“权限被拒绝”消息。我是管理员,但显然我仅对“应用程序支持”文件夹具有“读取”特权。 但是,这是其他塞拉利昂系统的情况下,我是能够创建一个链接。 无论如何,我尝试使用BatChmod将Admin Write特权授予Application Support文件夹,但是执行后,没有任何改变。作为管理员,我仍然没有写权限。 我真的只需要对该文件夹具有临时的写入权限,只要足够长的时间即可创建链接,然后在需要时还原。我绝对不在我的行列,也不想破坏我的系统,但是我可以遵循简单的命令行指导。我已经阅读了有关sudo / bin / bash和sudo bash以及启用root用户的信息,但是我不知道哪种方法是实现目标的最快,最安全的方法。 终奌站: 在BatChmod之前: 在BatChmod之后:

1
vim的Linux bash设置
当我在linux shell bash中关闭vim时,仍然可以看到部分查看内容,通常是root用户,但是在其他用户(通常不是root用户)中,vim close表示看不到查看文件。我在哪里/如何管理/设置? 谢谢
linux  bash  vim 

3
如何显示最大文件的权限?
我有一个任务要编写一个bash脚本,该脚本显示对目录中最大和最小文件的权限。我怎么能得到呢? 我尝试过ls -s,但是它显示了所有按大小排序的文件。
bash  script 

1
如何防止Bochs翻译键码?
我的本机键盘布局是“ dk”(丹麦语)。 我正在虚拟机(Bochs)中运行Tiny Core Linux。虚拟机正在引导引导加载程序,在这里我可以将键盘映射作为内核的参数。一个示例是“ kmap = qwerty / dk”。如果在主机上将键盘布局更改为“ us”,则可以在Bochs的X11 GUI中输入“ =“。但是然后我无法输入“ /”。如果在输入任何内容后更改键盘布局,Bochs不会允许我输入更多内容。 我必须继续使用X11 GUI,因为使用SDL GUI,CPU利用率始终为100%。 使用默认的键盘映射启动TCL后(由于我无法在引导加载程序中对其进行更改),可以使用“ loadkmap”更改键盘映射。它是从STDIN读取的。键盘映射位于/ usr / share / kmaps / qwerty / dk中。我发现可以使用“ cd ..”转到目录,而不必使用键“ /”。但是,如何不使用“ |”将其加载到“ loadkmap”中 或“ <”?

1
此bash命令在OSX上运行,但不在Busybox上..为什么?
我有这个bash一线软件,它可以在OSX上正常运行,但是不能在Linux上运行,我怀疑Qnap上的Linux发行版(Busybox)与此有关。 这是在OSX上运行的命令: find . -type f -name "*.mp4" -exec bash -c 'ffmpeg -i "$0" -c:v copy -c:a libfaac -af "volume=23dB" "fix/$0"' '{}' \; 现在在Qnap上: find . -type f -name "*.mp4" -exec bash -c 'ffmpeg -i "$0" -c:v copy -c:a libfaac -af "volume=23dB" "fix/$0"' '{}' \; 返回: BusyBox v1.01(2015.05.21-17:32 + 0000)多调用二进制 …

1
iTerm2不遵守我的按键绑定…有时
我将我的iTerm2键盘绑定设置为使用Command +向左箭头和Command +向右箭头将光标移动到行的开头和结尾。这在大多数情况下都有效。但是当我在ghci(Haskell口译员)中时不是 它可以在其他解释器中使用(我尝试过使用python和sh) 我不确定这是我的shell(bash 3.2)还是ghci(7.4.2)的iTerm2(Build 1.0.0.20130319)问题,但是这很烦人。有什么想法做什么?

0
Linux bash-从脚本添加别名,但不添加脚本源
是否可以编写类似 #!/bin/bash alias foo="bar -options" 并获得添加到正在运行的shell中的别名,而无需source(-ing)脚本 source myscript 会工作,但只是 myscript 不。别名在子shell(进程)中设置,但在退出脚本中丢失 无需更改父外壳别名的任何可能性 source
linux  bash  alias 

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.