Questions tagged «bash»

与其他Bourne / POSIX shell相对,GNU的Bourne Again SHell特有的问题。对于一般关于Unix shell的问题,请改用/ shell标记。


3
更改字符串中第n个字母的大小写
我想换一个字符串的第n个字母的大小写BASH(或任何其他的* nix工具,例如sed,awk,tr等)。 我知道您可以使用以下命令将整个字符串更改为大小写: ${str,,} # to lowercase ${str^^} # to uppercase 是否可以将“测试”的第三个字母的大小写更改为大写? $ export str="Test" $ echo ${str^^:3} TeSt




3
管道/重定向一组命令
我目前使用以下设置来重定向多个命令的输出: echo "Some normal commands" ( echo "Error: something happened" echo "Warning: this incident will be logged" ) >> logfile echo "More normal commands" 这非常有用,并且还可以与管道一起使用。 这是最好的方法吗?我是否应该考虑替代方案?

1
管道和重定向绑定优先级与分词,合词等有关?
我知道运算符';','&','&&'或'||'的相对绑定优先级 http://www.gnu.org/software/bash/manual/bashref.html#Lists 但是当管道与“ &&”一起出现在图片中时,我很难理解绑定强度,或者偶然发现了正确的命令,或者只是放弃了。 '|'的绑定优先级是什么 和“>”与上述相比? 我感到困惑的示例: ls _thumbnails/video.mp4.jpg 2>/dev/null && echo "thumbnail already generated. Not regenerating" \ && exit \ || ffmpeg_thumbnail_create video.mp4 2>/dev/null \ && ls _thumbnails/video.mp4.jpg \ && echo "Thumbnail successfully created" \ && exit \ || echo "Thumbnail creation failed" \ | tee ~/thumbnails.log 上面的目标是在且仅当一个缩略图不存在时创建缩略图(我每天运行一次cronjob)。而且我不喜欢没有错误时ffmpeg的大量输出(这不是Unix方式)。还有其他情况,所以不要开始给我建议,这些建议使用单独的语句或特定于这些程序的特殊选项。我想了解绑定优先级。


2
如何在cygwin上应用针对CVE-2014-6271 bash漏洞的修复程序?
我想了解如何在cygwin上应用此漏洞的修复程序。 我正在CYGWIN_NT-6.1 MYHOSTNAME 1.7.30(0.272/5/3) 2014-05-23 10:36 x86_64 CygwinWindows 7上运行cygwin。 #bash -version GNU bash, version 4.1.11(2)-release (x86_64-unknown-cygwin) Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" env x='() { :;}; …

3
如何从bash shell脚本中并行调用服务URL?
我有从其他应用程序调用的服务。以下是我正在呼叫的服务网址- http://www.betaservice.domain.host.com/web/hasChanged?ver=0 我需要以多线程方式对我上面的服务URL进行一些负载测试,而不是一个个地依次调用。 bash shell脚本有什么办法,我可以通过多线程方式对其进行调用,从而对上述服务URL造成负担?如果可以的话,我可以有60-70个线程在上述URL上并行快速调用?

1
bash如何执行ELF文件?
当我在Linux Box上时,我使用bash作为外壳。现在,我想知道bash如何处理ELF文件的执行,也就是说,当我键入./program且program是ELF文件时。我grep了bash-4.3.tar.gz,似乎没有某种魔术数字解析器可以确定文件是否为ELF,也没有找到exec()syscall。 整个进程如何运作?bash如何将ELF的执行传递给OS?
8 bash  kernel  executable  exec  elf 

2
案例陈述之外的变量分配
在许多语言中,可以将case / switch语句的结果分配给变量,而不是在case语句中多次重复变量分配。是否可以在Bash shell中执行类似的操作? color_code=$(case "$COLOR" in (red) 1;; (yellow) 2;; (green) 3;; (blue) 4;; esac) (或者,顺便说一句,在其他任何外壳中?)


1
分发Shell脚本的正确方法
如果shell的行为可以被修改set并因此无法预测,那么分发shell脚本的最合适方法是什么? 例如,rm *.txt在set -f已运行的环境中不会按预期执行。rm *.txt在任何环境下,如何确保删除当前目录中的所有文本文件? 在总体分发外壳脚本之前,我应如何确保它们能够按预期运行?

2
创建一个将执行程序的Bash脚本,如果该脚本退出而没有崩溃,将再次运行它
我想知道最简单的创建bash脚本的方法,该脚本将在MacOSX中运行一个应用程序(这是一个基于UNIX的系统,因此我认为这是正确的地方)。等待程序退出。如果退出不是崩溃,请再次运行。否则,请打开崩溃报告窗口并退出。 我希望此脚本可以永久运行,直到崩溃或手动终止。 我有一个模糊的想法,但不确定。这是我到目前为止的内容: echo "Launching Autorun…" if ["$1" -eq "0"]; then # Application exited successfully. Restarting. /path/to/application.app else # An error occured. Do nothing and exit. exit fi

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.