Questions tagged «bash»

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

17
如何检测脚本是否源
我有一个脚本,exit如果它是源代码,我不希望它调用。 我想检查一下是否可以,$0 == bash但是如果脚本是从另一个脚本中获取的,或者用户是从其他shell那里获取的,这就会出现问题ksh。 有没有可靠的方法来检测脚本是否源?
216 bash  ksh 


2
如何在Linux上的命令行中将一系列图像转换为PDF?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 8年前关闭。 改善这个问题 我有一个用cgi / bash编写的扫描服务器,希望能够从命令行将一堆图像(全部在一个文件夹中)转换为pdf。那怎么办?
214 image  bash  pdf 

12
如何在OS X上安装Homebrew?
我正在尝试在OS X上安装Homebrew。 根据Homebrew网站,我应该输入 brew install wget 我所得到的是 -bash: brew: command not found 所以我搜索了StackOverflow并找到了这个答案。但问题是我没有看到brew在/usr/local/bin。 因此,我还在.bashrc文件中添加了以下行 export PATH=/usr/local/bin:$PATH 但是我仍然遇到command not found错误。 如何在OS X上安装Homebrew?
213 macos  bash  install  homebrew 

15
如何在文件开头插入文本?
到目前为止,我已经能够找到如何在文件的开头添加一行,但这并不是我想要的。我会在一个例子中展示 档案内容 some text at the beginning 结果 <added text> some text at the beginning 类似,但是我不想用它创建任何新行... sed如果可能,我想这样做。
213 linux  bash  sed 

7
如何在Docker Postgres的脚本中创建用户/数据库
我一直在尝试通过创建自定义用户和数据库来为开发postgres实例设置容器。我正在使用官方的postgres docker镜像。在文档中,它指示您在/docker-entrypoint-initdb.d/文件夹内插入bash脚本以使用任何自定义参数设置数据库。 我的bash脚本:make_db.sh su postgres -c "createuser -w -d -r -s docker" su postgres -c "createdb -O docker docker" Docker文件 FROM library/postgres RUN ["mkdir", "/docker-entrypoint-initdb.d"] ADD make_db.sh /docker-entrypoint-initdb.d/ 我从docker logs -f db(db是我的容器名称)得到的错误是: createuser:无法连接到数据库postgres:无法连接到服务器:没有这样的文件或目录 /docker-entrypoint-initdb.d/在启动postgres之前,似乎正在执行文件夹内的命令。我的问题是,如何使用官方的postgres容器以编程方式设置用户/数据库?有没有办法用脚本来做到这一点?

6
为什么#!/ usr / bin / env bash优于#!/ bin / bash?
我已经在很多地方看到过,包括本网站上的建议(首选Bash shebang是什么?),它们#!/usr/bin/env bash优先于使用#!/bin/bash。我什至已经看到一个有进取心的个人认为使用#!/bin/bash是错误的,这样做会丢失bash功能。 综上所述,我在严格控制的测试环境中使用bash,其中每个流通的驱动器实质上都是单个主驱动器的克隆。我理解可移植性参数,尽管它不一定适用于我的情况。是否还有其他理由要优先#!/usr/bin/env bash考虑其他选择,并且考虑到可移植性,是否有任何理由使用它会破坏功能?
212 bash  shebang 

4
根据文件的第二列对数据进行排序
我有两列和n行数的文件。 第1列包含names和column2 age。 我想基于age(在第二列中)以升序对文件的内容进行排序。 结果应显示name最年轻的人name,然后显示第二个最年轻的人,依此类推... 关于一个线性shell或bash脚本的任何建议。
212 bash  shell  unix 

10
从Bash函数返回布尔值
我想编写一个bash函数,检查文件是否具有某些属性并返回true或false。然后,我可以在脚本中的“ if”中使用它。但是我应该返回什么? function myfun(){ ... return 0; else return 1; fi;} 然后我像这样使用它: if myfun filename.txt; then ... 当然这是行不通的。如何做到这一点?
211 bash  shell  boolean 

5
if [](方括号)中的“ [:过多参数”错误的含义
我找不到任何简单易懂的资源来说明BASH shell错误的含义并修复此错误,因此,我将发布研究后发现的内容。 错误: -bash: [: too many arguments Google友好版本: bash open square bracket colon too many arguments。 上下文:单个方括号中的if条件,带有简单的比较运算符,例如equals,大于等,例如: VARIABLE=$(/some/command); if [ $VARIABLE == 0 ]; then # some action fi



13
命令获取STDOUT的第n行
是否有任何bash命令可以让您获得STDOUT的第n行? 也就是说,某些东西 $ ls -l -rw-r--r--@ 1 root wheel my.txt -rw-r--r--@ 1 root wheel files.txt -rw-r--r--@ 1 root wheel here.txt 并做类似的事情 $ ls -l | magic-command 2 -rw-r--r--@ 1 root wheel files.txt 我意识到在编写要重用的脚本时这是一种不好的做法,但是在日常使用shell时,能够以这种方式过滤我的STDOUT对我很有用。 我也意识到这将是半平凡的命令(缓冲区STDOUT,返回特定行),但是我想知道是否存在一些标准的 shell命令来执行此操作,而无需我将脚本放到适当的位置。
210 bash  shell  sed  stdout 

9
bash别名中的多个命令
我想定义一个别名,该别名可以连续运行以下两个命令。 gnome-screensaver gnome-screensaver-command --lock 现在我加了 alias lock='gnome-screensaver-command --lock' 到我的.bashrc,但是由于我经常锁定我的工作站,因此只键入一个命令会更容易。

6
如何在Makefile目标中使用Bash语法?
我经常发现Bash语法非常有用,例如像中的流程替换diff <(sort file1) <(sort file2)。 是否可以在Makefile中使用这样的Bash命令?我在想这样的事情: file-differences: diff <(sort file1) <(sort file2) > $@ 在我的GNU Make 3.80中,这将产生错误,因为它使用shell而不是bash执行命令。
208 bash  shell  makefile 

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.