Questions tagged «bash»

Bash是来自GNU Project的类Unix操作系统的免费外壳。

2
更改Cygwin的房屋
我正在尝试在工作的计算机上更改Cygwin的主目录。默认情况下,我们的主目录映射到网络共享。这似乎为Cygwin造成了一些混乱,因为它在我的桌面上创建了一个目录,该目录遵循与网络共享相同的路径,另外一些前缀则基于我从中打开cygwin的位置。 如果我从安装时创建的默认快捷方式中打开Cygwin: $ echo $HOME /cygdrive/c/Users/shaun/Desktop/SERVER/USERS:USERS/SHAUN 如果我从PowerShell打开Cygwin: $ echo $HOME /usr/bin/SERVER/USERS:USERS/SHAUN 我宁愿将我的主目录放在我自己设置的用于管理程序的本地程序目录中。像这样: /cygdrive/c/users/shaun/apps/cygwin/home/shaun cygwin建议,执行此操作的首选方法是在中输入/etc/nsswitch.conf。看起来应该这样做: db_home: unix /%H/Apps/cygwin/home/shaun 我对此文件所做的任何更改似乎都将被忽略。我重新启动终端,即使我故意弄乱了语法,也没有任何错误。我尝试过但失败的一些选项: db_home: /cygdrive/c/users/shaun/apps/cygwin/home/shaun db_home: /%H/Apps/cygwin/home/shaun db_home: unix /%H/Apps/cygwin/home/shaun db_home: cygwin desc db_home: cygwin /path /%H/Apps/cygwin/home/shaun 每次尝试后,我都重新启动了Cygwin进程。我还尝试将db_shell选项更改为/bin/sh仅作为实验,但外壳没有更改。 过去在StackExchange中提出的问题建议更改/etc/passwd文件,只有注释掉/etc/profile自动创建HOME目录的代码块后,我才能使该文件生效。然后,过了一段时间,它又回到了旧家。 是否有什么我失踪有关/etc/nsswitch.conf文件?看起来这是设置自定义配置的一种简单便捷的方法。Cygwin不建议您使用其他替代方法,但如果我错了,请告诉我哪种方法是首选。 我目前 /etc/nsswitch.conf # /etc/nsswitch.conf # # This file is read once by the first process …
6 windows  bash  cygwin 

1
将所有错误消息发送到文本文件?
我正在尝试运行以下命令: $ psql -d template_postgis -f /usr/local/pgsql-9.1/share/contrib/postgis-2.0/postgis.sql 它会产生大量的错误输出,其中我只能看到我的shell中的结尾 - 我需要看到开始找出出错的地方。 ... psql:/usr/local/pgsql-9.1/share/contrib/postgis-2.0/postgis.sql:6065: ERROR: current transaction is aborted, commands ignored until end of transaction block psql:/usr/local/pgsql-9.1/share/contrib/postgis-2.0/postgis.sql:6075: ERROR: current transaction is aborted, commands ignored until end of transaction block psql:/usr/local/pgsql-9.1/share/contrib/postgis-2.0/postgis.sql:6081: ERROR: current transaction is aborted, commands ignored until end of transaction block …

2
制作和管道后保持较少的颜色
在使用“make 2>& 1”编译某些程序后,我想保持颜色较少。 “grep”和“ls”命令有类似的主题,但解决方案不适用于此命令。 例如, make 2>&1 | less -R 不起作用。 谢谢你的帮助。
5 linux  bash  zsh  make  less 

5
bash - 测试磁盘是否未分区
我目前正在开发一个DIY网络存储,它使用mhddfs聚合可用磁盘空间。 现在我想要的是,例如给定一个热插拔托架,当我插入一个全新的未分区磁盘时,我希望使用bash脚本自动对磁盘进行分区并挂载新的mhddfs分区。 如果关闭服务器,插入新磁盘并再次打开服务器,则会出现相同的情况。 所以问题是: 如何使用bash脚本检测未分区的磁盘? 问题还包括不应该有错误的检测。 例如如果插入了加密磁盘,则不应自动重新分区和格式化 - 这一点是问题的主要内容。

3
产生多个并行wgets并将结果存储在bash数组中,以便在完成所有wgets时进行漂亮打印
我在自己的网站上列出了一个很长的网址列表,列在回车分隔的文本文件中。例如: HTTP:/www.mysite.com/url1.html HTTP:/www.mysite.com/url2.html HTTP:/www.mysite.com/url3.html 我需要生成许多并行wgets来命中每个URL两次,检查并检索特定的头,然后将结果保存在一个数组中,我想在一个漂亮的报告中输出。 我使用以下xargs命令获得了我想要的一部分: xargs -x -P 20 -n 1 wget --server-response -q -O - --delete-after<./urls.txt 2>&1 | grep Caching 问题是如何运行此命令两次并存储以下内容: 网址命中 grep对缓存头的第一个结果 grep对缓存头的第二个结果 所以输出应该类似于: ===================================================== http:/www.mysite.com/url1.html ===================================================== First Hit: Caching: MISS Second Hit: Caching: HIT ===================================================== http:/www.mysite.com/url2.html ===================================================== First Hit: Caching: MISS Second Hit: Caching: HIT 等等。 …
5 linux  bash  wget  xargs  array 


1
如何使用PWD进行bash别名调用?
我目前有这个别名: alias cmakerel='cmake -DCMAKE_BUILD_TYPE=Release -Wno-dev ../../ && make -j4' 从本质上讲,它会调用cmake来做一个 out-of-source 从PWD建立。它工作正常,但原样,它可以从几乎任何地方运行(我不想要)。 如何修改此别名,以便它当且仅当字符串运行时才运行 bld 在我目前的工作目录中? 我需要这个更改,因为没有它,我有时会意外地从tst目录或其他目录中调用此命令,我只是导致一团糟。
5 bash  alias 

2
运行PHP适用于命令提示符,但不适用于Git Bash
我最近买了一台新笔记本电脑,并且一直在设置它。 我已经安装了WAMP,这是我用来进行PHP开发的(安装Apache2,MySql和PHP)。 我也喜欢使用Git Bash作为我首选的命令行工具,但是当我尝试通过命令行对PHP做任何事情时 - 我得到一个奇怪的结果; 没有任何反应,没有错误: 现在,如果我通过命令提示符运行它,它完全正常: 我为PHP设置了正确的PATH变量,并对此进行了三次检查: 我可以做些什么来让PHP通过我的Git Bash命令行工作? 编辑 产量ll /c/wamp64/bin/php/php7.0.10/php: -rwxr-xr-x 1 james.b 1049089 122368 Aug 18 2016 /c/wamp64/bin/php/php7.0.10/php* 产量echo $PATH | tr ":" "\n": /c/Users/James.b/bin /mingw64/bin /usr/local/bin /usr/bin /bin /mingw64/bin /usr/bin /c/Users/James.b/bin /c/ProgramData/Oracle/Java/javapath /c/WINDOWS/system32 /c/WINDOWS /c/WINDOWS/System32/Wbem /c/WINDOWS/System32/WindowsPowerShell/v1.0 /c/Go/bin /c/wamp64/bin/php/php7.0.10 /c/ProgramData/ComposerSetup/bin /c/Program Files/Microsoft/Web Platform Installer /c/Program …

2
将程序管道化为更少
我正在开始设置和学习git,同时学习bash。我正在尝试做一些简单的事情来查看帮助部分 $ git config 不幸的是,当我输入帮助的输出关闭屏幕时。做一些谷歌搜索我发现更少的是我想用来滚动的程序。 我试过了 $ git config | 减 没有成功。有任何想法吗?谢谢!
5 bash  stdout  pipe  stderr  less 


1
Bash管道信号传播 - 它是如何工作的?
在回答这个问题时,我无法完全解释信号如何通过管道传播。 请考虑以下示例。 使用timeout作为管道的第一个元素 这导致gpg拯救已经捕获了SIGTERM传递给cat,通过timeout,留下一个损坏的文件。 $ timeout 1 cat /dev/urandom | gpg -er attie@attie.co.uk > ./myfile.gpg gpg: Terminated caught ... exiting Terminated $ gpg -d < ./myfile.gpg > /dev/null You need a passphrase to unlock the secret key for user: "Attie Grande <attie@attie.co.uk>" 4096-bit RSA key, ID C9AEA6AE, created 2016-12-13 (main …
5 bash 


2
Mac中的gcc和g ++
我买了新的Macbook Pro。像linux一样,它具有bash shell。但是,我在那里找不到gcc或g ++。它在某处吗?或者有某种程序包管理器可以让我轻松地将其添加到其中?
5 linux  mac  bash  macbook  gcc 


1
Bash脚本中的时区转换
我找到了一个关于如何用Linux转换时区的解决方案 date 命令: 按命令行转换时区 $ date --date='TZ="Asia/Taipei" 18:00' Fri Jul 16 11:00:00 BST 2010 它工作得很好,但是当时间是变量时,我无法弄清楚如何在Bash脚本中使用它,例如: TIME=18:00 DATE="`date --date='TZ="Asia/Taipei" $TIME' +%F\ %H:%M`" echo $DATE; 我有逃避特殊字符的问题。我完全不明白为什么 date 命令适用于时区 BST , 欧洲东部时间 等,而不是像“亚洲/台北”,欧洲/莫斯科等时区。
4 bash  time-zone 

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.