Questions tagged «bash»

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


2
如何在gnu屏幕下运行的bash脚本中敲响音频铃声?
在屏幕外部的konsole终端窗口中,如果我键入以下内容,则运行一个bash shell,并将TERM设置为konsole-256color: echo -n $'\ a'或 echo -n $'\ eg'或 ./ringbell,其中./ringbell的内容为 #!/ bin / bash echo -n $'\ eg'; echo -n $'\ a' 它们都会导致配置的音频铃声关闭。如果我进入屏幕会话(我的.screenrc也将term设置为konsole-256color),则仅上述3个命令中的第二个命令(echo -n $'\ eg')会导致听到铃声。我需要修改脚本还是屏幕问题? 我拥有的屏幕软件包的Ubuntu版本是4.1.0〜20120320gitdb59704-9。

6
Bash:在脚本中检测执行与源代码?
我有一个遍布文件系统的脚本(生成过程的副作用),该脚本设置了一些全局环境变量(LD_LIBRARY_PATH,PATH,ROOTDIR等),这些变量必须位于我的shell中才能正常运行。当然,这意味着我需要source script.sh或. script.sh必须使其起作用,而不是./script.sh(这将产生一个新的shell,并且不会在当前shell中设置变量)。 我有什么可以添加到脚本中以阻止(或警告)某人运行的./script.sh吗?
19 bash 


7
检查是否导出shell变量的最简单的脚本方法是什么?
对于某些shell会话,如果未设置和导出shell变量,我希望能够打印警告标志。 做这样的事情在提示中打印“错误”是相当简单的 SET_ME 未设置或为空。 test_var () { test -z "$1" && echo Error; } PS1='$(test_var "$SET_ME") \$ ' 但是,如果我设置,则无法标记 SET_ME 没有导出它,这是我想要检测的错误。缺少类似的东西 $(bash -c 'test -z "$SET_ME" && echo Error;') 或者打算输出 export,有没有一个简单的检查,我可以做测试是否 SET_ME 已出口? 非POSIX,仅限bash的解决方案是完全可以接受的。

1
寻求升级我的bash魔术。帮助解密此命令:bash -s stable
好的,所以我正在通过教程在Mac上安装rvm。通过curl获取rvm的bash命令是 curl -L https://get.rvm.io | bash -s stable 我在位置rvm.io上了解了上半部分的curl命令,并且将结果通过管道传递到后续的bash命令,但是我不确定该命令在做什么。我的问题: -s:即时通讯总是对如何引用这些感到困惑。这是什么类型的东西:命令行参数?一个开关?还有什么吗 -s:它在做什么?我已经用谷歌搜索了大约半个小时,但是不确定如何引用它使它变得困难。 马::这是什么? tl; dr:帮我解密命令bash -s stable 对于那些回答这篇文章的人,我渴望有一天像您一样接受bash的扫盲。在此之前,像我这样的混蛋感谢您的帮助!
18 bash 

1
cp覆盖vs rm然后cp
当我试图覆盖当前推出的二进制文件,cp无法覆盖,但它可能rm然后它cp。例如: user@poste:~$ cp binaryFile /tmp user@poste:~$ sudo cp /tmp/binaryFile binaryFile [sudo] password for user: cp: cannot create regular file `binaryFile`: Text file busy user@poste:~$ sudo rm binaryFile user@poste:~$ sudo cp /tmp/binaryFile binaryFile user@poste:~$ file binaryFile binaryFile : ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared …
18 linux  bash  unix 

1
使用ffmpeg / avconv将视频转换为WebM
在尝试优化家庭视频的大小时,我在Xubuntu上使用Pitivi将其中一些转换为WebM作为测试。大小差异很大。生成的webm文件仅占原始文件的10%左右,而图片质量对我来说几乎一样。 我还尝试使用进行转换,avconv以便可以编写脚本,但是生成的文件看起来确实很烂。在Pitivi中查看了渲染设置之后,我尝试了一些参数:avconv -i $1 -q 5 -qmin 0 -qmax 63 ${1%.*}.webm,但是质量看起来仍然很糟糕,因此看来我缺少了/使用了一些错误的参数。有人知道哪些正确的参数可用于将h264电影转换为webm并获得与Pitivi相同的质量吗? 这些是Pitivi中的设置:
18 bash  ffmpeg  webm 

9
如何从OS X检索任意文件的绝对路径
我正在寻找一个可以在Bash中使用的简单命令,以找到OS X上文件的绝对和规范化路径(类似于Linux下的``readlink -f''`)。 以下示例bash会话描述了一种名为``abspath''的[虚拟]实用程序,该实用程序具有所需的行为: $ pwd /Users/guyfleegman $ ls -lR drwxr-xr-x 4 guyfleegman crew 136 Oct 30 02:09 foo ./foo: -rw-r--r-- 1 guyfleegman crew 0 Oct 30 02:07 bar.txt lrwxr-xr-x 1 guyfleegman crew 7 Oct 30 02:09 baz.txt -> bar.txt $ abspath . /Users/guyfleegman $ abspath foo /Users/guyfleegman/foo $ abspath …



7
cygwin下的ssh配置
我在Windows 7上安装了Cygwin。我进行了默认安装。我想使用ssh配置文件(〜/ .ssh / config)设置主机和连接选项。 尝试连接时,普通的ssh命令无法找到配置:ssh host如果我明确指定配置文件,则一切正常:ssh -F〜/ .ssh / config 我找不到设置SSH客户端的任何选项,例如/ etc / ssh 也许ssh不知道我的主文件夹在哪里?(我已将HOME环境变量设置为我的主文件夹)

3
如何在命令行中使用正则表达式删除文件?
假设我有20个名为FOOXX的文件,其中XX是文件的编号,例如01、02等。 目前,如果要删除所有小于10的文件,这很容易,我只使用通配符,例如rm FOO0 * 但是,如果我要删除某个范围(例如13-15)中的特定文件,这将变得更加困难。 rm FPP [13-15]不起作用,问我是否要删除所有文件。Likewse rm FOO1 [3-5]希望删除所有以FOO1开头的文件 那么,删除这种文件范围的最佳方法是什么? 我已经尝试过使用bash和zsh,但我认为它们对于这样的基本任务没有太大区别吗?
18 linux  bash  shell  regex  zsh 

5
在bash中当前运行的命令后如何执行命令?
我正在使用wget下载文件,下载完成后我想关闭计算机,但是现在我需要去某个地方:)当进程完成时,是否可以在bash exacly中执行命令? 我知道这可行: wget http://example.com/file.rar; 现在关闭 但是,如果我只键入: wget http://example.com/file.rar
18 linux  bash 

4
是否可以打印出外壳扩展?
我知道有一组特定的规则可用于外壳扩展用户键入的命令。(让我们讨论一下bash shell。) Shell扩展后是否可以以表格形式打印出命令?学习并确保shell如何扩展特殊字符似乎是一个很好的实用工具。 例如 $ echo * {all the filenames in current dir} 我想打印出扩展的命令,这是以下行: echo {all the filenames in .}

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.