Questions tagged «bash»

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

22
如何在单引号引起来的字符串中转义单引号
假设您有一个Bash,alias例如: alias rxvt='urxvt' 效果很好。 然而: alias rxvt='urxvt -fg '#111111' -bg '#111111'' 将无法工作,也不会: alias rxvt='urxvt -fg \'#111111\' -bg \'#111111\'' 那么,一旦转义了引号,如何最终匹配字符串中的开始和结束引号? alias rxvt='urxvt -fg'\''#111111'\'' -bg '\''#111111'\'' 看起来很笨拙,尽管如果允许这样将它们串联起来,它将表示相同的字符串。
1015 bash  syntax  quoting 


10
如何将输出重定向到文件和标准输出
Наэтотвопросестьответына 堆栈溢出нарусском:Каксохранитьвыводлюбойкомандывфайли сразужеувидетьеговтерминале ? 在bash中,调用foo将在stdout上显示该命令的任何输出。 调用foo > output会将该命令的任何输出重定向到指定的文件(在本例中为“输出”)。 有没有一种方法可以将输出重定向到文件并在stdout上显示?
988 linux  bash  file-io  io  stdout 

11
我如何用管道输送stderr而不是stdout?
我有一个要写入信息的程序stdout和stderr,我需要grep通过报应的标准错误,而忽视标准输出。 我当然可以分两步完成: command > /dev/null 2> temp.file grep 'something' temp.file 但我希望能够在没有临时文件的情况下执行此操作。有任何智能管道技巧吗?
981 bash  grep  stdout  pipe  stderr 

7
将参数传递给Bash函数
我正在尝试搜索如何在Bash函数中传递参数,但是出现的总是总是如何从命令行传递参数。 我想在脚本中传递参数。我试过了: myBackupFunction("..", "...", "xx") function myBackupFunction($directory, $options, $rootPassword) { ... } 但是语法不正确,如何将参数传递给我的函数?

21
如何在Shell脚本中声明和使用布尔变量?
我试图使用以下语法在Shell脚本中声明一个布尔变量: variable=$false variable=$true 它是否正确?另外,如果我想更新该变量,我会使用相同的语法吗?最后,使用布尔变量作为表达式的以下语法正确吗? if [ $variable ] if [ !$variable ]
976 bash  shell  scripting  boolean  sh 



27
在Bash中仅使用ls列出目录?
此命令列出当前路径中的目录: ls -d */ 模式到底是*/做什么的? 以及如何在上述命令(例如ls -d /home/alice/Documents)中给出绝对路径,以仅列出该路径中的目录?
952 bash  directory  ls 

28
在Bash脚本中管道往返剪贴板
是否可以在Bash中通过管道与剪贴板通信? 无论是管道到设备手柄或从设备手柄到管道,还是使用辅助应用程序,我都找不到任何东西。 例如,如果/dev/clip是链接到剪贴板的设备,我们可以这样做: cat /dev/clip # Dump the contents of the clipboard cat foo > /dev/clip # Dump the contents of "foo" into the clipboard
945 linux  bash  macos  clipboard 

30
如何从Bash变量中修剪空格?
我有一个带有以下代码的shell脚本: var=`hg st -R "$path"` if [ -n "$var" ]; then echo $var fi 但是条件代码总是执行,因为hg st总是打印至少一个换行符。 是否有一种简单的方法来删除空格$var(例如trim()在PHP中)? 要么 有没有解决此问题的标准方法? 我可以使用sed或AWK,但是我想认为有一个更优雅的解决方案。
920 string  bash  variables  trim 

13
如何在执行外壳命令时回显它们
在shell脚本中,如何回显所有被调用的shell命令并扩展任何变量名? 例如,给出以下行: ls $DIRNAME 我希望脚本运行命令并显示以下内容 ls /full/path/to/some/dir 目的是保存所有调用的shell命令及其参数的日志。也许有更好的方法来生成这样的日志?
910 bash  shell  sh  posix  trace 

8
如何遍历Bash脚本中的参数
我有一个复杂的命令,我想制作一个shell / bash脚本。我可以$1轻松地编写它: foo $1 args -o $1.ext 我希望能够将多个输入名称传递给脚本。什么是正确的方法? 而且,当然,我想处理文件名中带有空格的文件名。
899 bash  command-line 

24
如何在Linux / Unix上永久设置$ PATH?
我试图将目录添加到我的路径,以便它始终位于我的Linux路径中。我试过了: export PATH=$PATH:/path/to/dir 这可行,但是每次我退出终端并启动新的终端实例时,该路径都会丢失,因此我需要再次运行export命令。 我该如何做才能将其永久设置?
879 linux  bash  unix  path  zsh 

30
使用Unix工具解析JSON
Наэтотвопросестьответына 堆栈溢出нарусском:ПарсингJSONв壳 我正在尝试解析从curl请求返回的JSON,如下所示: curl 'http://twitter.com/users/username.json' | sed -e 's/[{}]/''/g' | awk -v k="text" '{n=split($0,a,","); for (i=1; i<=n; i++) print a[i]}' 上面将JSON分为多个字段,例如: % ... "geo_enabled":false "friends_count":245 "profile_text_color":"000000" "status":"in_reply_to_screen_name":null "source":"web" "truncated":false "text":"My status" "favorited":false % ... 如何打印特定字段(以表示-v k=text)?
877 json  bash  parsing 

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.