Questions tagged «bash»

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

10
Bash别名中的Git自动完成功能?
我正在将go用作简单的bash别名git checkout branchname。我想念的是自动完成功能,可与完整git checkout branchna...命令一起使用,但不能在别名中使用。 有没有一种方法可以指示Bash为另一个命令“继承”自动完成的“驱动程序”?
82 git  bash 

11
制作Shell脚本守护程序的最佳方法?
我想知道是否有比使用sh更好的方法来制作仅使用sh进行等待的守护程序: #! /bin/sh trap processUserSig SIGUSR1 processUserSig() { echo "doing stuff" } while true; do sleep 1000 done 特别是,我想知道是否有任何方法可以摆脱循环并仍然让事物监听信号。
81 bash  shell  daemon 

7
如何在bash中获取文件的绝对目录?
我编写了一个bash脚本,该脚本将输入文件作为参数并读取它。 该文件包含一些路径(相对于其位置),指向所使用的其他文件。 我希望脚本转到包含输入文件的文件夹,以执行更多命令。 那么,如何从输入文件中获取文件夹(以及仅文件夹)?(在Linux中。)
81 linux  bash  shell 

3
如何添加包含和库路径以配置/制作周期?
我需要在没有su访问权限的linux框中安装库的地方。我正在使用〜/ local [/ bin,/ lib,/ include],但是我不知道如何告诉./configure在那寻找库(特别是我正在尝试编译emacs,这需要libgif ,这不在我的发行版中)。 我尝试添加 export PATH=$PATH:~/local/bin export LD_LIBRARY_PATH=~/local/lib export C_INCLUDE_PATH=~/local/include export CPLUS_INCLUDE_PATH=~/local/include 到.bashrc,但似乎不起作用。

8
递归查找具有特定扩展名的文件
我正在尝试查找具有特定扩展名的文件。例如,我要查找所有名为Robert的.pdf和.jpg文件 我知道我可以执行此命令 $ find . -name '*.h' -o -name '*.cpp' 但是我需要指定扩展名之外的文件本身的名称。我只是想看看是否有一种避免重复写入文件名的方法,谢谢!
81 linux  bash 

9
如何使用终端在Mac OS X上运行C程序?
我是C的新手。这是我的“世界,您好!” 程序。 #include <stdio.h> int main(void) { printf("Hello, world!\n"); return 0; } 在尝试使用Terminal运行它之后,它说: MacBook-Pro-MacBook:~ macbook$ /Users/macbook/Desktop/peng/Untitled1 -bash: /Users/macbook/Desktop/peng/Untitled1: Permission denied MacBook-Pro-MacBook:~ macbook$ 为什么?
81 c  macos  bash 


1
在if语句中使用&&运算符
我有三个变量: VAR1="file1" VAR2="file2" VAR3="file3" &&像这样在if语句中如何使用and()运算符: if [ -f $VAR1 && -f $VAR2 && -f $VAR3 ] then ... fi 当我编写此代码时,它给出了错误。正确的方法是什么?

2
循环后台作业
我尝试在bash中的for循环中运行后台作业: for i in $(seq 3); do echo $i ; sleep 2 & ; done 我收到错误消息: bash: syntax error near unexpected token `;' 在zsh中,命令行有效。
81 bash 


7
此处文档给出“文件意外结束”错误
我需要我的脚本才能从终端发送电子邮件。根据我在这里和网上许多其他地方看到的内容,我将其格式化为: /var/mail -s "$SUBJECT" "$EMAIL" << EOF Here's a line of my message! And here's another line! Last line of the message here! EOF 但是,运行此命令时会收到以下警告: myfile.sh: line x: warning: here-document at line y delimited by end-of-file (wanted 'EOF') myfile.sh: line x+1: syntax error: unexpected end of file ...其中x行是程序中最后写入的代码行,y行是其中的代码行/var/mail。我试着更换EOF其他的事情(ENDOFMESSAGE,FINISH,等),但无济于事。我在网上找到的几乎所有东西都是通过这种方式完成的,而且我对bash真的很陌生,所以我很难自己搞清楚。有人可以提供任何帮助吗?
81 bash  email  heredoc 

3
bash别名命令,带有单引号和双引号
我有此命令可以执行我想要的操作,但无法在我的.bashrc中使用别名(请注意,它同时使用单引号和双引号): svn status | awk '$1 =="M"{print $2;}' 我试过了: alias xx="svn status | awk '$1 ==\"M\"{print $2;}'" 以及其他一些没有运气的常识组合。.我知道bash带有引号非常挑剔。谢谢

11
如何从给定的文本文件中删除所有空格
我想从给定的文本文件中删除所有空白。是否有任何可用的shell命令?或者,如何使用sed用于此目的。 我想要以下内容: $ cat hello.txt | sed .... 我试过了:cat hello.txt | sed 's/ //g'。但是它只删除空格,而不删除制表符。
81 linux  bash  sed 

5
Bash脚本缺少']'[关闭]
关闭。这个问题不能重现,或者是由错别字引起的。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 4个月前关闭。 改善这个问题 我收到错误./test.sh:行13:[:缺少`]'在文件test.sh中,我尝试使用方括号和其他选项(例如-a)或通过检查文件p1的大小来尝试,但错误是无论给出的输入是什么,我总是在那里,else语句总是被执行。我甚至尝试通过删除; 在第13行中,但这没有帮助。 test.sh #!/bin/bash echo "Enter app name" read y $y & top -b -n 1 > topLog.log #-w checks for the whole word not and sub string from that word grep -w "$y" topLog.log > p1 #-s option checks if the file p1 is …
81 bash  scripting 

4
如何使用jq将JSON字符串格式化为表?
刚开始使用Bash脚本,偶然发现jq可与JSON一起使用。 我需要将如下所示的JSON字符串转换为表格以在终端中输出。 [{ "name": "George", "id": 12, "email": "george@domain.com" }, { "name": "Jack", "id": 18, "email": "jack@domain.com" }, { "name": "Joe", "id": 19, "email": "joe@domain.com" }] 我要在终端中显示的内容: ID Name ================= 12 George 18 Jack 19 Joe 请注意,我不想显示每一行的email属性,因此jq命令应该涉及一些过滤。下面为我​​提供了一个简单的名称和ID列表: list=$(echo "$data" | jq -r '.[] | .name, .id') printf "$list" 问题在于,我无法将其显示为表格。我知道jq有一些格式化选项,但是不如我使用时的选项好printf。我想我想将这些值存储在一个数组中,然后可以遍历自己进行格式化...?我尝试过的事情给我带来了不同的结果,但从来没有我真正想要的。 有人可以指出我正确的方向吗?
81 json  bash  jq 

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.