Questions tagged «bash»

有关为Bash命令外壳编写的脚本的问题。对于具有错误/语法错误的shell脚本,请在此处发布之前,使用shellcheck程序(或在Web shellcheck服务器中的https://shellcheck.net)进行检查。有关Bash交互使用的问题更可能是Super User而不是Stack Overflow上的话题。

11
重击续行
您如何使用bash延续行? 我知道您可以这样做: echo "continuation \ lines" >continuation lines 但是,如果您缩进了代码,那么效果就不太好: echo "continuation \ lines" >continuation lines
158 bash  line  indentation 

15
如何递归遍历目录以删除具有某些扩展名的文件
我需要递归遍历目录,并删除所有扩展名为.pdf和的文件.doc。我设法递归遍历目录,但没有设法过滤具有上述文件扩展名的文件。 到目前为止我的代码 #/bin/sh SEARCH_FOLDER="/tmp/*" for f in $SEARCH_FOLDER do if [ -d "$f" ] then for ff in $f/* do echo "Processing $ff" done else echo "Processing file $f" fi done 由于我什么都没得到,我需要帮助来完成代码。
157 bash 

16
删除bash中除最新X文件以外的所有文件
在带有bash的漂亮标准UNIX环境中,是否有一种简单的方法来运行命令以从目录中删除除最近的X文件以外的所有文件? 再举一个具体的例子,想象一下某些cron作业每小时将一个文件(例如,日志文件或已压缩的备份)写到目录中。我希望有一种方法可以运行另一个cron作业,该作业将删除该目录中最旧的文件,直到少于5个文件为止。 需要明确的是,只有一个文件存在,永远不要删除它。
157 bash  unix  scripting 

9
如何将多行输出连接到一行?
如果运行命令cat file | grep pattern,则会得到多行输出。您如何将所有行连接成一行,有效地将每一行替换"\n"为"\" "("以空格结尾)? cat file | grep pattern | xargs sed s/\n/ /g 对我不起作用。
157 linux  bash  unix  grep  tr 

30
使用Bash您最喜欢的命令行技巧是什么?[关闭]
在这里很难说出要问什么。这个问题是模棱两可,含糊,不完整,过于宽泛或夸张的,不能以目前的形式合理地回答。如需帮助澄清此问题以便可以重新打开, 请访问帮助中心。 9年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我们都知道如何使用<ctrl>-R反向搜索历史记录,但是<ctrl>-S如果设置了,您是否知道可以使用正向搜索stty stop ""?另外,您是否曾经尝试运行bind -p来查看列出的所有键盘快捷键?默认情况下,Mac OS X上有超过455个。 使用bash,您最喜欢的晦涩trick俩,键盘快捷键或购物配置是什么?
156 bash  command-line 

17
Cygwin中的root用户/ sudo等效者?
我正在尝试在Cygwin中运行bash脚本。 我得到Must run as root, i.e. sudo ./scriptname错误。 chmod 777 scriptname 没有任何帮助。 我一直在寻找在Cygwin上模仿sudo的方法,以添加root用户,因为调用“ su”会导致错误su: user root does not exist,任何有用的东西,却一无所获。 有人有什么建议吗?
156 bash  cygwin  root  sudo 

14
在终端命令行上移动光标的最快方法?
在终端中给定的非常长的命令行上四处移动的最佳方法是什么? 假设我使用了箭头键或Ctrl- R来获得这个较长的命令行: ./cmd --option1 --option2 --option3 --option4 --option5 --option6 --option7 --option8 --option9 --option10 --option11 --option12 --option13 --option14 --option15 --option16 --option17 --option18 --option19 --option20 --option21 --option22 --option23 --option24 --option25 --option26 --option27 --option28 --option29 --option30 --option31 --option32 --option33 --option34 --option35 --option36 --option37 --option38 --option39 --option40 --option41 --option42 --option43 --option44 --option45 --option46 …
156 bash  terminal  window 

2
在bash中同时输出stdout和stderr?
似乎较新版本的bash具有&>运算符,(如果我理解正确的话)该运算符会将stdout和stderr都重定向到文件(&>>如Adrian所阐明的那样,追加到文件中)。 实现同一目标的最简单方法是什么,而是通过管道传递到另一个命令? 例如,在这一行: cmd-doesnt-respect-difference-between-stdout-and-stderr | grep -i SomeError 我希望grep可以匹配stdout和stderr中的内容(有效地,将它们组合成一个流)。 注意:这个问题是在询问管道,而不是重定向-因此,它不是当前标记为重复的问题的重复。
156 bash  stdout  stderr  piping 

9
检查传递的参数是Bash中的文件还是目录
我正在尝试在Ubuntu中编写一个非常简单的脚本,该脚本允许我传递文件名或目录,并且能够在文件时执行特定操作,而在目录时执行其他操作。我遇到的问题是名称中的目录名称(或可能还有文件)中包含空格或其他可转义字符。 这是下面的基本代码,并进行了一些测试。 #!/bin/bash PASSED=$1 if [ -d "${PASSED}" ] ; then echo "$PASSED is a directory"; else if [ -f "${PASSED}" ]; then echo "${PASSED} is a file"; else echo "${PASSED} is not valid"; exit 1 fi fi 这是输出: andy@server~ $ ./scripts/testmove.sh /home/andy/ /home/andy/ is a directory andy@server~ $ ./scripts/testmove.sh …
156 bash  shell 

17
如何在Bash中比较两个浮点数?
我正在努力比较bash脚本中的两个浮点数。我必须要变量,例如 let num1=3.17648e-22 let num2=1.5 现在,我只想对这两个数字进行简单比较: st=`echo "$num1 < $num2" | bc` if [ $st -eq 1]; then echo -e "$num1 < $num2" else echo -e "$num1 >= $num2" fi 不幸的是,我对num1的正确处理存在一些问题,它可以是“电子格式”。:( 任何帮助,欢迎提示!

6
如何防止rm报告未找到文件?
我rm在BASH脚本中使用它来删除许多文件。有时文件不存在,因此报告许多错误。我不需要此消息。我已经在手册页中搜索了使命令rm安静的命令,但是我发现的唯一选择是-f,从描述中“忽略不存在的文件,从不提示”似乎是正确的选择,但名称似乎不合适,因此我担心它可能会带来意想不到的后果。 是-f选择沉默的正确方法rm?为什么不叫它-q呢? 这个选项还有其他作用吗?
155 bash  rm 

14
移动除一个文件外的所有文件
如何移动除一个以外的所有文件?我正在寻找类似的东西: 'mv ~/Linux/Old/!Tux.png ~/Linux/New/' 我将旧资料移到新资料夹的位置,除了Tux.png。!符号表示否定。有一些工作工具吗?
154 linux  bash  glob 

4
单击选项卡时出现shell初始化问题,getcwd怎么了?
单击bash上的Tab后,将出现错误消息,这是怎么回事? symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success symlink-hook: error retrieving current directory: getcwd: cannot access parent directories: Success symlink-hook: …
153 linux  bash  shell  pwd  getcwd 

6
查找包含给定文本的文件
在bash中,我想为每个.php|.html|.js包含不区分大小写字符串的类型的文件返回文件名(以及文件的路径)"document.cookie" | "setcookie" 我该怎么办?
153 bash  find 


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.