Questions tagged «bash»

Bash(Bourne-Again SHell)是默认情况下在Ubuntu命令行界面中使用的shell。

4
let,expr和$ []之间的区别
我想知道两者之间到底有什么区别 a=$[1+1] a=$((1+1)) let a=1+1 a=$(expr 1 + 1 ) 所有4给变量a分配2,但是有什么区别? 到目前为止,我发现expr较慢,因为它不是实际的内置shell。但仅此而已。
23 bash 

3
我应该如何处理所有隐藏文件?
我想对chown目录中的所有隐藏文件执行一些操作(例如)。 我知道这.*是不是一个好主意,因为它也将查找当前.和父..目录(我知道,rm将无法进行操作.和..,但其他命令,包括chown和chmod,会很乐意生效) 但是我所有的隐藏文件都有不同的名称! 当排除.和时,我应该如何遍历所有隐藏文件..?


3
uniq命令无法正常工作?
所以我正在检查md5文件的哈希,并以此作为输出: 657cf4512a77bf47c39a0482be8e41e0 ./dupes2.txt 657cf4512a77bf47c39a0482be8e41e0 ./dupes.txt 8d60a927ce0f411ec94ac26a4785f749 ./derpina.txt 15f63928b8a1d5337137c38b5d66eed3 ./foo.txt 8d60a927ce0f411ec94ac26a4785f749 ./derp.txt 但是,在find . -type f -exec md5sum '{}' ';' | uniq -w 33找到唯一的哈希之后,我得到了: 657cf4512a77bf47c39a0482be8e41e0 ./dupes2.txt 8d60a927ce0f411ec94ac26a4785f749 ./derpina.txt 15f63928b8a1d5337137c38b5d66eed3 ./foo.txt 8d60a927ce0f411ec94ac26a4785f749 ./derp.txt 根据我的理解,因为它们的哈希值相同,所以其中一个derpina.txt或一个都derp.txt应该只出现。我想念什么吗?有人能启发我为什么会这样输出吗?

5
如何运行别名相同的原始命令?
该文件中别名为lscommand的~/.bashrc别名: alias ls='ls --color=auto' 然后,当我ls在别名ls(ls --color=auto)终端中运行命令时运行。但我的问题是我如何可以运行原ls,并仅ls单独使用,而不额外的参数并没有与删除别名进入解决问题?因为当我删除该条目时,我可以简单地运行它ls。



6
如何从bash脚本中打开文件?
好的,运行gedit myfile.txt正常。但是,如何使用链接到文件类型的默认桌面应用程序从bash脚本中打开文件呢? 我在下面尝试过,在终端中手动运行时效果很好,但是当我将其放在bash文件中时,什么也没发生: #!/bin/bash xdg-open "myfile.txt"& 我该怎么办? 请注意,我也需要在终端关闭后使文件保持打开状态。
22 bash  xdg-open 

3
将grep与管道和&符号一起使用以过滤来自find的错误
我正在使用cygwin在cygdrive上查找文件。 但是,我需要抑制权限被拒绝的消息(否则结果将隐藏在错误消息中)。以下命令有效: find -name 'myfile.*' |& grep -v "Permission denied" 我不明白为什么要在此命令中添加“&”号,并期望它能够正常工作,但事实并非如此。 find -name 'myfile.*' | grep -v "Permission denied" 请解释“&”号的含义。
22 bash  command-line  find  grep 

5
使用Dropbox在计算机之间共享.bashrc会产生影响吗?
我在许多不同的机器上工作,所有机器都运行Ubuntu(并不总是同一版本)。我希望在所有机器上都可以使用一些非常基本的自定义设置。 我目前使用Dropbox并将所有其他“点文件”存储在其中,例如.vim / .vimrc .gitconfig .ackrc。然后,我只是将它们从我的Dropbox文件夹链接到我的主文件夹。Voilà,所有机器同步。 我不确定用我的bashrc做这样的事情的影响是什么。有人可以提供建议吗?也许是在bashrc中加载​​单独文件的简便方法?
22 bash  dropbox 

3
如何从“ ls -l”的输出中选择一个字段/列?
我的目标看似简单(至少对我而言)。我希望采用ls -l或的输出,ls -lh并仅选择一个字段。 我希望这尽可能地防弹,也就是说,假设文件名可以具有可变数量的空格,而不是字段中的所有内容都具有相同的长度,等等。 拥有一个使用字段名称(甚至是字段编号)然后返回字段内容的脚本的好处是。 我想转身 变成:

7
在Bash中覆盖先前的输出,而不是附加它
对于bash计时器,我使用以下代码: #!/bin/bash sek=60 echo "60 Seconds Wait!" echo -n "One Moment please " while [ $sek -ge 1 ] do echo -n "$sek " sleep 1 sek=$[$sek-1] done echo echo "ready!" 那给了我类似的东西 One Moment please: 60 59 58 57 56 55 ... 是否有可能将秒的最后一个值替换为最新的值,以使输出不会产生较大的尾迹,而是像在某个位置实时显示秒倒数?(希望你明白我的意思:))

3
如何在脚本中以root用户在后台运行OpenVPN?
我想编写一个openvpn先调用,然后调用的脚本ssh。键入命令时 sudo openvpn ~/my_connection.ovpn 在命令提示符下,我得到以下输出: ... Wed Jan 4 21:04:35 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0 Wed Jan 4 21:04:35 2017 /sbin/ip link set dev tun0 up mtu 1500 Wed Jan 4 21:04:35 2017 /sbin/ip addr add dev tun0 local IP_FOO peer IP_FOO Wed Jan 4 21:04:35 2017 Initialization Sequence Completed 该命令被阻止,并且外壳未释放。为了在以后开始ssh连接,我需要通过键入Ctrl+ …

3
将多个顺序命令的输出写入文本文件
我尝试检查最新的Firefox,并希望将所有哈希值保存在一个TXT文件中。 我想做的是: sha1sum firefox.tar.gz > sha.txt 我也尝试: md5sum firefox.tar.gz > sha.txt | sha1sum firefox.tar.gz > sha.txt | sha512sum firefox.tar.gz > sha.txt 但在这种情况下,仅将最后一个sha512打印到sha.txt。 我究竟做错了什么?请在那里的人可以帮助我吗?

1
bash脚本中无法访问环境变量
我遇到一个奇怪的问题。我放入了一些env变量.bashrc,它可以正常工作: echo $HADOOP_HOME /home/me/dist/hadoop 但是执行bash脚本时无法访问env变量。假设我/tmp/sample.sh使用以下内容创建: #! /bin/bash echo $HADOOP_HOME 当我在脚本上运行时,回显一个空行: /tmp/sample.sh ‌

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.