Questions tagged «bash»

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

1
Ubuntu 13.10上的自动VPN连接解决方​​案
我正在寻找一种解决方案,以便在我的Ubuntu 13.10中自动连接到VPN-Servers。它应该在启动时连接并在连接丢弃时重新连接。我尝试了几件事: VPNAutoconnect sourceforge.net/projects/vpnautoconnect/但它不起作用,并且没有文档 Bash-Script就像我在这里找到的那​​样ubuntuforums.org/showthread.php?t=1756831 #!/bin/sh while [ "true" ] do vpnck=$(nmcli con status uuid 2df5dab5-21da-66fa-927e-bd754cdf4656) if [ $vpnck = TorGuard.Germany.UDP ]; then sleep 20 else sleep 1s && nmcli con up uuid 2df5dab5-21da-66fa-927e-bd754cdf4656 fi sleep 20 done 但这开始每20秒重新连接一次我的VPN连接。对不起,我不知道bash脚本。 TorGuard有一个不错的小程序 - 下载。不幸的是,它不适合启动,更不幸的是它需要rootrights。 我在askubuntu.com上找到了这个条目 但我试过的所有这些解决方案并不令人满意。有谁有个好主意,比如如何改进bash脚本? 提前致谢。


3
如何使用ls / grep的输出作为pdfunite的输入
我想使用pdfunite将几个pdf文件合并到一个输出文件中。由于该目录包含许多不同的东西,我想我可以使用ls / grep来获取适当的文件名,然后使用pdfunite将它放在一起。ls / grep的输出如下所示: ls | grep "handout...pdf" handout01.pdf* handout02.pdf* handout03.pdf* handout04.pdf* handout05.pdf* handout06.pdf* 然后我想调用pdfunit,它具有以下语法: pdfunite [options] PDF-sourcefile1..PDF-sourcefilen PDF-destfile 我的问题是,似乎我不能将ls / grep的输出传递给pdfunite,因为它不应该像那样工作。另一方面,如果我尝试: pdfunite ls | grep "handout...pdf" grep.pdf 然后grep明显抱怨我选择的输出文件: grep: grep.pdf: No such file or directory 我知道我可以做两个单独的步骤,然后它会工作,但我想弄清楚如何用一行做到这一点。

2
如何在linux上完成安装linuxbrew的教程?
我想在我的debian操作系统上安装linuxbrew。 有些事情我不明白。 在某种程度上,“添加到.bashrc或.zshrc”,我将如何做到这一点?什么是文件.bashrc,.zshrc? 即使我输入cd .linuxbrew(它是一个文件夹) echo 'export PATH="$HOME/blueberry/.linuxbrew/bin:$PATH"' >>~/.bash_profile 该文件不会出现在文件夹中(蓝莓是我在操作系统上的sudo用户名)。它是隐藏文件吗?我甚至无法编辑它。 在这里我做了什么: 在那3行:我编辑过。我不知道这是对的。为什么我不能成功?有人可以解释我做错了什么吗?这是关于.bashrc,PATH问题。
linux  bash 

1
除了匹配之外,Grep得到一切
假设我有一个文本文件说: Hello my name is agz. I am asking a question that is important. 如果我输入:grep -v "is" /path/to/file,我应该没有输出,因为两行都有“是”。 如果我输入:grep -o "is" /path/to/file,我应该得到: is is 但是我想得到: Hello my name agz. I am asking a question that important. (只是错过了)有没有办法用grep和minimal regex实现这个目的?
bash  regex  grep 

1
“找到| grep | awk“很糟糕。”
我正在扫描我服务器上的所有shell脚本,并通过以下命令执行此操作: find / -type f -exec file --mime-type {} \; | grep "text/x-shellscript" 这工作正常,这是一个示例输出: /lib/udev/hwclock-set: text/x-shellscript /lib/init/bootclean.sh: text/x-shellscript /etc/network/if-up.d/openssh-server: text/x-shellscript /etc/network/if-up.d/mountnfs: text/x-shellscript 现在,我想处理文件名,并尝试使用awk: find / -type f -exec file --mime-type {} \; | grep "text/x-shellscript" | awk -F: '{ print $1 }' 但是,这不会产生任何输出。我曾尝试重定向管道等,但在这里我已经碰壁了。 任何人都知道我做错了什么?
bash  find  grep  pipe  awk 

2
如何从Amazon主机名中提取IP地址?
我真的不知道为什么,但亚马逊网络服务为我的机器提供了一些奇怪的主机名。现在我需要用刀子列出所有它们以在bash脚本中使用。我说IP很奇怪,因为没有地方你可以解析主机名,毕竟这是没用的。 在我的脚本中,我想从主机名中仅提取IP。例如,从以下主机名中提取10.114.152.134: ip-10-114-152-134.valter.henrique.com 我怎样才能做到这一点?

3
无法在ssh上访问shell
我已将以下行添加到我的.bashrc文件中以在登录时启动gnu屏幕: exec screen 但它似乎进入一个循环(也许这是它的起始屏幕也在屏幕上开始)。 我再也无法通过ssh访问shell了。 怎么解决这个问题? 谢谢

1
我可以在没有Xorg的情况下运行Powerline
我安装了powerline,它在Xfce终端上运行良好。我正在使用ArchLinux。当我登录时,pc总是启动进入cli模式。我喜欢。但是在使用X之前的cli模式中,bash提示看起来比我以前的.bashrc看起来有点难看。没有文字的颜色,并与一些带有提示的彩色块混合。像用户名■〜■□。当我使用tmux时,它在Xfce终端看起来看起来不一样。 大部分时间我没有DE或Xorg工作来学习linux。 有没有办法让电力线在cli模式下工作?就像它在gvim中工作一样?我搜索但没有得到任何解决方案。 如果那是不可能的,有没有办法为我的cli和不同的.bashrc为终端模拟器提供不同的.bashrc?

1
如何到达目录的根目录
我试图用bash编译一个包,github中的指令说: 切换到Phrasal存储库的根目录并执行:gradle installDist 我尝试使用“hg root”确定root。但我得到的输出为 中止:在'/ mnt / f / Projects / phrasal'中找不到存储库(找不到.hg)! 如何找到目录短语的根目录?谢谢!!!
linux  bash  git 

1
删除其他目录中已存在的文件和目录
我需要帮助编写脚本。所以基本上我有按当前日期命名的目录,比如01-06-2014 02-06-2014等等,每个目录中都有文件和子目录。但有时会有重复。与01-06-2014和02-06-2014一样,可能都有名为d01的目录或名为f001.jpg的文件,依此类推 我想要做的是摆脱这些相同的文件和子目录,这样我就不会占用太多空间(此外,重复的重点是什么) 最简单的方法是什么?有人可以帮忙吗?请!
ubuntu  bash 

1
当我从其他远程服务器ssh进入时,为什么这个Unicode字符会被错误处理?
通常,我从运行OpenSUSE的工作计算机进入计算集群,然后将bash脚本提交给运行R程序的秃鹰排队系统。 当我从运行Putty的Windows 10笔记本电脑插入SSH并执行完全相同的操作时,结果会略有不同。特别是,我使用R制作了一个使用太阳符号(“☉”)的绘图,当从我的工作计算机上推入该符号时效果很好,但是<U+0298>从我的笔记本电脑中推入时该符号效果为“ ”。 为什么?我什至不明白这怎么可能。
linux  bash  ssh  putty  r 

3
重新压缩文件而不创建临时文件
也许最好只是从用例开始。 我有一个大的zip文件,里面充满了许多文件,我怀疑它最初是在低压缩级别下压缩的。 我想从该文件创建一个新的zip文件(或者不是新文件,希望是就地放置),以确保其压缩良好(-9)而不先将其解压缩到磁盘上(由于各种原因,例如大小和被挂载的NFS)。所以虽然我可以做 mkdir tmp/ && unzip -d tmp/ A.zip && cd tmp/ && zip -r -9 ../B.zip *; rm -rf tmp/ A.zip 这会(临时)创建大量数据(解压缩的文件并B.zip在A.zip删除之前就存在)。 我真的想要一些类似的东西: rezip -9 A.zip 或者,解决B.zip: unzip -<output to stdout> A.zip | zip -9 B.zip && rm -f A.zip 但是我意识到,由于管道将用于多个文件,文件名之类的东西将丢失,因此这实际上是不可能的。 所以,我想知道是否有一种方法可以在每个文件上执行一些代码,例如 find -exec <command> unzip A.zip -exec …
linux  bash  zip  unzip 

3
根据文件名中的时间模式生成文件列表
我有一个摄像机记录设备,它将生成一个包含视频的结构化文件夹,如下例所示。 我想生成视频文件列表,但只生成给定时间范围内的视频文件。例如:8h00到17:00之间(由于光线不足,该范围之外的视频质量较差) 文件名的结构是这样的:[DATE Folder] AM | PM / sricam- [date]-[time] -sequence#.mp4 对于以下示例,过滤器将仅列出从8h08:15开始的文件 /data/20171229AM/sricam-20171229-070814-1514520494.mp4 /data/20171229AM/sricam-20171229-073814-1514522294.mp4 /data/20171229AM/sricam-20171229-080815-1514524095.mp4 /data/20171229PM/sricam-20171229-180815-1513553225.mp4 我发现大括号扩展模式可以过滤数字,但如何在所有子文件夹中执行 我希望我的解释不要太困惑了:) 谢谢
linux  bash  regex  grep 

2
Bash:有条件地移动嵌套重复目录
假设我有一个名为“ foo”的目录,其中包含几个目录: foo/bar/bar/(files) foo/bat/bat/(files) foo/baz/qux/(files) 有没有办法有条件地将“最深”目录上移,以便仅在其名称与父目录名称匹配时才替换其父目录?如果不匹配,则目标是保留当前目录结构。 所需的输出: foo/bar/(files) foo/bat/(files) foo/baz/qux/(files)
linux  bash 

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.