Questions tagged «bash»

与其他Bourne / POSIX shell相对,GNU的Bourne Again SHell特有的问题。对于一般关于Unix shell的问题,请改用/ shell标记。


2
bash-builtins的“设置”和“导出”有什么作用?
我是一个有点损失为目的set,并export在击(我猜可能是其他炮弹太)。 我认为这是用于设置环境变量的,但是可以使用来完成VARIABLE=VALUE,对吧? 同样,键入set和export单独显示不同的值。 那么他们的目的是什么?
46 bash  shell 


2
从终端重新启动bash而不重新启动终端应用程序(mac)?
我四处张望,并想找到这个问题的答案,但我似乎没有找到它(这很奇怪)。 我的问题是,有没有一种简单的方法可以从Mac终端上重新启动bash会话。我只是想要与关闭终端应用程序并再次启动它相同的行为(所有变量都重置,.bash_profile源等)。 我知道如何获取.bash_profile,但这不是我想要的。我要执行此操作的原因之一是因为bash提示的插件具有防止多次加载颜色的代码。因此,采购.bash_profile不会重新加载颜色变量,并且我必须重新启动终端应用程序才能使更改生效。
46 bash  shell 

3
在.bashrc中使用导出
我注意到自己前面.bashrc有几行export,例如 export HISTTIMEFORMAT="%b-%d %H:%M " ... export MYSQL_HISTFILE="/root/.mysql_history" 而其他人则没有 HISTSIZE=100000 我想知道如果,第一,这是正确的,而第二个规则是什么,用export在.bashrc。

6
如何使用花括号展开创建前导零的序列
当我使用以下命令时,将得到预期的结果: $ echo {8..10} 8 9 10 我如何以一种简单的方式使用该大括号扩展,以获取以下输出? $ echo {8..10} 08 09 10 我现在可以使用seq(没有尝试过)获得它,但这不是我想要的。 有用的信息可能是我仅限于此bash版本。(如果您有zsh解决方案,但没有bash解决方案,请也分享) $ bash -version GNU bash, version 3.2.51(1)-release (x86_64-suse-linux-gnu)

5
$ PATH中的重复条目有问题吗?
我从几个朋友那里得到bashrc。因此,我最终在$ PATH变量中有重复的条目。我不确定这是否是长时间启动命令的问题。$ PATH在bash中如何内部工作?有更多的路径会减慢我的启动时间吗?
45 bash  path 

2
在命令行中如何解释括号?
在阅读有关如何设置的内容时grub,我遇到了一篇文章,声称我需要使用以下两种语法之一, echo \(hd0,0\) >> /boot/grub/grub.conf 要么 echo '(hd0,0)' >> /boot/grub/grub.conf 因为在命令行中,括号以特殊方式解释。括号有什么特别之处?他们如何解释?
45 bash  shell  quoting 

1
为什么不在分配变量的同一行上导出变量?
From 上一个命令的最后一个参数是什么? shellcheck告诉您不要在分配变量的同一行上导出变量。 我想知道为什么? 做了同样的建议适用于alias,declare,export,local,readonly,和typeset?
44 bash 



7
查找多个文件夹名称中的文件
我想列出所有从文件dir1,dir2,dir3并dir4可能作为我的一个子目录在任何地方cwd使用的find命令。我尝试了以下操作,但均未成功: find . -type f -regextype posix-egrep -regex 'dir1/.+|dir2/.+|dir3/.+|dir4/.+' 我也尝试posix-extended过。如何列出这些文件?

1
查找无扩展名的文件
假设我有: foo.txt bar baz.ooo 如果我使用的ls -1 !(*.*)话,我只会得到bar输出。太好了,现在我希望获得与find相同的结果-有些find -regex可以完成任务。 注意: find -name !(*.*)不是答案,因为!(*.*)它仍然是Bash的问题,我无法使用。
43 bash  shell  find  wildcards 


3
$ {1 +“ $ @”}在shell脚本中是什么意思,它与“ $ @”有什么区别?
在Perl文档中,perlrun(1)建议使用双语shell / Perl标头启动Perl脚本: #!/bin/sh #! -*-perl-*- eval 'exec perl -x -wS $0 ${1+"$@"}' if 0; 什么${1+"$@"}意思 我尝试使用"$@"代替(使用Bash作为/ bin / sh),它似乎同样有效。 编辑 以下两个答案说应该是${1:+"$@"}。我知道${parameter:+word}bash(1)中记录了(“使用替代值”)语法。但是,我不敢相信,因为 无论${1+"$@"}和"$@"工作得很好,即使在没有参数。如果我创建simple.sh为 #!/bin/sh eval 'exec /usr/bin/perl -x -S -- $0 "$@"' if 0; #!perl use Data::Dumper; print Dumper(\@ARGV); 和question.sh为 #!/bin/sh eval 'exec /usr/bin/perl -x -S -- $0 ${1+"$@"}' if …
43 bash  shell  perl 

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.