Questions tagged «bash»

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



6
如何通过哈希比较文件的各个部分?
我有一个下载成功的文件,另一个下载失败(大文件的前100 MB),我怀疑是同一文件。 为了验证这一点,我想检查一下它们的哈希值,但是由于我只下载了一部分失败的文件,因此我只希望对前几兆字节进行哈希处理。 我该怎么做呢? 操作系统是Windows,但是我安装了cygwin和MinGW。
19 bash  hashing 

3
命令与程序?
我一直在寻找adduser和之间的区别useradd,并且一个解释是,这useradd是一个命令,同时adduser是一个perl脚本。我了解什么是perl脚本,但我不了解的是a command确切的含义。 我一直以为,命令一样ls,ln,cd等都是写在任何语言中所有简单程序,简单地做一两件事。这些“简单程序”和perl脚本之间有什么区别? 我当然知道(perl)脚本不是编译而是在运行时解释的,但是我猜那不是唯一的区别吗?

2
编写可在任何shell上运行的shell脚本(使用多个shebang行?)
我刚刚开始更深入地了解Shell脚本,而且我一直只是将我的脚本扔到一个文件中,对其进行标记chmod +x,然后完成/path/to/script.sh,然后让任何默认的解释器使用它,我认为这是zsh,因为那是我用我的壳。显然/bin/sh,即使我从zsh提示符执行脚本,这似乎也是默认设置,因为我开始在脚本中放入特定于zsh的内容,除非我运行,否则它会失败zsh /path/to/script.sh。 明确地说,这是我的问题: 当#!/path/to/shell开始没有shebang行()时,哪个shell执行脚本?我假设/bin/sh但无法确认。 在编写可在任何平台上运行的shell脚本方面,什么被称为“最佳实践”?(好的,这是开放式的) 如果zsh不可用,是否有可能编写尝试使用zsh并退回到bash的脚本?我已经尝试过放置两条shebang行,如下所示,但是bad interpreter: /bin/zsh: no such file or directory如果我在没有zsh的计算机上尝试,那只会出错。 #!/bin/zsh #!/bin/bash

7
从Cygwin使用Notepad ++,而无需外壳程序等待退出代码
我正在运行Cygwin,并希望使用Notepad ++作为主要的外壳编辑器,有点像我在Mac上拥有的外壳编辑器,可以在其中键入mate whatever以打开TextMate实例。在~/.bashrcCygwin的文件中,设置了以下别名和环境变量: export EDITOR="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe" alias np="/cygdrive/c/Program\ Files/Notepad++/notepad++.exe" 它通常可以正常工作:当我键入内容np whatever或Cygwin程序调用$ EDITOR时,将打开Notepad ++。 但是,外壳程序会一直等到Notepad ++关闭后,在此之前将不允许任何输入。这可能是bash特有的,但是如何才能从Cygwin中打开Notepad ++并告诉Shell 不要等待退出代码继续?&在别名命令的末尾添加a 不能正常工作,它只会打开一个无标题的文件并发出警告,filename: command not found而不是打开该文件。 谢谢!
19 bash  cygwin  notepad++ 

2
Unix:以破折号开头的文件-
好的,我有一堆以破折号-开头的文件。不太好...我想重命名它们。在我的特定情况下,我只想在他们前面放一个角色。 我发现下面的行应该起作用,但是由于它破折号而不起作用: for file in -N*.ext; do mv $file x$file; done 如果我echo在前面放mv一串 mv -N1.ext x-f1.ext mv -N2.ext x-f2.ext 这是正确的,除了当然会认为第一个文件名是选项。因此,当我删除echo并运行它时,我得到的只是一堆 mv: illegal option -- N 我试图将其更改为 for file in -N*.ext; do mv "$file" "x$file"; done 但似乎只是忽略了引号。试图使用单引号,但随后该变量未扩展...我在这里做什么? 更新:我现在也尝试引用引号。像这样: for file in -N*.ext; do mv '"'$file'"' '"'x$file'"'; done 当我回显它时,它看起来正确,但是当我实际运行它时,我得到了 mv: rename "-N1.ext" to …
19 bash  unix  rename 

6
如何有效地在bash命令行中移动?
所以,我用up我的壳(猛砸在OSX或Ubuntu,主要是),但在某些时候,我知道我想要的东西后,光标的当前位置。有什么办法可以使我完成的线与上面的线相同?击球up然后left令人讨厌。 除了tab,我们现在都在谈论其他技巧: 这是一个示例(根据〜quack的请求): 我键入mkdir /where/the/hell/is/that/thing,然后我要CD进入同一目录。但是现在我知道了meta-b了:)

3
如何执行bash脚本?
所以我写了我的第一个bash脚本: #!/bin/bash echo 'hello world!' exit 我知道它具有正确的bash位置,并且可以执行: $ which bash /bin/bash $ chmod +x myscript.sh 现在,我想从命令行运行它,但是出现错误: $ myscript.sh myscript.sh: command not found 因此,我尝试了一下,它可以工作: $ bash myscript.sh hello world! 这就是我将始终需要执行的方式吗?我觉得我已经执行了其他脚本,而不必先于bash。如何运行myscript.sh而不必先进行bash? 更新:这很好地解释了为什么以及如何执行bash脚本。

13
Windows命令行:创建名称为当前日期的文件
我正在尝试从批处理脚本创建一个zip文件。我需要将其命名为archive_.zip 不幸的是,由于斜杠,这在日期格式为y / m / d的系统上不起作用: zip some_options "archive_%DATE%.zip" 该%DATE%变量扩展到像 Mon 09/28/2009 我可以访问gnuwin32软件包,因此可以用sed破折号代替空格和斜杠。问题是,我将如何使用的输出sed来创建zip归档文件的文件名? 在Unix(bash)中,可以使用反引号来就地评估命令,并在另一条命令中使用其输出,例如: zip [...] archive_`echo %DATE% | sed -e s/.../.../`.zip Windows中有类似的功能吗? 也许有一种方法可以将变量设置为返回值,sed然后使用该变量来构造文件名?

6
vi模式下bash中最后一个命令的最后一个参数
我已经说服了(在Stack Overflow上)在vi模式下使用我心爱的bash。到目前为止,我已经很好地适应了它,并且我喜欢它。 但是,我确实确实错过了一个功能:在emacs模式下,您可以通过按“ ESC”输入上一个命令的最后一个参数。(即,按Escape键,然后按.。) 是否有默认绑定在vi模式下插入最后一个参数?我找不到一个,我真的很想念此命令...
19 bash 


1
为什么`echo -e“ \\\ SOME_TEXT”`只显示一个反斜杠?
有人可以解释一下Linux shell中字符转义背后的情况吗?我尝试了以下内容并进行了很多搜索,但没有成功了解正在发生的事情(以及如何发生): root@sv01:~# echo -e "\ Hello!" \ Hello! root@sv01:~# echo -e "\\ Hello!" \ Hello! root@sv01:~# echo -e "\\\ Hello!" \ Hello! root@sv01:~# echo -e "\\\\ Hello!" \ Hello! root@sv01:~# echo -e "\\\\\ Hello!" \\ Hello! root@sv01:~# echo -e "\\\\\\ Hello!" \\ Hello! root@sv01:~# echo -e "\\\\\\\ Hello!" \\ …

1
由于.bashrc中的这一行,Bash的启动速度很慢。是什么原因造成的?
我的.bashrc文件包含一行以达到此效果: alias prog="/path/to/script.sh $(find $(pwd) -name prog)" 当我注释掉这一行时,当我打开一个新终端时,Bash几乎立即启动。有了这一行,我的光标出现之前有4-5秒的延迟。 删除嵌套的命令$(pwd)等也可以再次加快它的速度。为什么会这样呢?我还能以某种方式使用嵌套命令吗?

3
如何减小PDF的大小并保留书签?
我有〜259 MB PDF。我所做的pdf2ps和ps2pdf。最终大小为45 MB。我没有发现任何阅读器的质量有任何明显的不同。虽然,书签丢失了。我尝试使用pdftk,但没有保留书签。 pdftk ... update_info 是什么原因导致尺寸大幅减少?是否有其他方法可以保留书签,并且尺寸仍然减小(最好是Linux命令行替代方法)?
19 linux  bash  pdf 

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.