Questions tagged «bash»

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

1
apt-get install php7.0- {some modules}的更短方法
我目前正在安装php7.0,想知道是否有较短的安装模块的方法。通常我输入: apt-get install php7.0 php7.0-fpm php7.0-mbstring php7.0-mcrypt php7.0-phpdbg php7.0-dev php7.0-curl php7.0-sqlite3 php7.0-json php7.0-gd php7.0-cli 是否有一个正则表达式,所以您不必一遍又一遍地输入php7.0?就像是: apt-get install php7.0-{fpm mbstring mcrypt phpdbg dev curl sqlite3 json gd cli} 我搜索了几个小时的类似内容,但找不到。预先感谢您的回复。
8 apt  bash  regex  php7 

3
Bash脚本将文件拖放到新位置
我敢肯定,我会把这个问题交给我,但是我似乎无法弄清楚。我是bash脚本的新手,所以对我轻松一点... 我希望能够将文件拖放到桌面应用程序上,然后再调用bash脚本,它将该文件移动到bash脚本内指定的位置。到目前为止,这是什么。 Bash脚本 #! /bin/bash mv $file /path/to/new/directory 但是,$file当我将变量拖放到桌面应用程序上时,我不知道如何将其作为变量输入。我怎样才能做到这一点? 原因:我有一些文件需要在一个文件夹中阅读,一旦阅读它们,便将它们放入另一个文件夹中。我基本上只是想简化它。 谢谢保罗

1
如何打开方括号数学手册页,它们叫什么?
我已经和他们合作了一段时间(数学方程式在中$[],而不是数组中) arrConflicts[0]=$[arrConflicts[0]+1] currentCombination=$[ (arrFiles[0]-1+arrFiles[0]-i)*i/2-arrFiles[0]+j ] 如何调用手册页? 这个数学叫做(谷歌)? 它具有最小和最大功能吗?
8 bash 

1
如何在Ping中使用时间戳选项
我注意到ping帮助中有一个时间戳选项-T。但是我不知道如何使用它。 我试过了: ping www.google.com -T 这是我得到的: Invalid timestamp type 时间戳记类型是什么,如何使用?
8 bash  ping 

5
Bash-根据部分文件名列表检查目录中的文件
我有一台服务器,每天每个客户端将一个文件接收到目录中。文件名的构造如下: uuid_datestring_other-data 例如: d6f60016-0011-49c4-8fca-e2b3496ad5a7_20160204_023-ERROR uuid 是标准格式的uuid。 datestring是的输出date +%Y%m%d。 other-data 长度可变,但绝不包含下划线。 我有一个格式的文件: # d6f60016-0011-49c4-8fca-e2b3496ad5a7 client1 d5873483-5b98-4895-ab09-9891d80a13da client2 be0ed6a6-e73a-4f33-b755-47226ff22401 another_client ... 我需要使用bash检查文件中列出的每个uuid在目录中是否都有相应的文件。 我已经走了很远,但是感觉到我通过使用if语句走错了方向,并且我需要遍历源目录中的文件。 source_directory和uuid_list变量已在脚本的前面分配: # Check the entries in the file list while read -r uuid name; do # Ignore comment lines [[ $uuid = \#* ]] && continue if [[ -f …

2
在Ubuntu上安装Linux Mint Cinnamon优美的Ctrl + R /“ reverse-i-search”?
在Mint中,当您在任何终端上按Ctrl+时R,都会为反向i搜索提供一个非常漂亮的UI。 (要澄清-我指的是Mint中提供的额外修饰-UI比我在Ubuntu和其他发行版中习惯的基本历史记录搜索高出一步) 我想在我的Ubuntu盒子上装这个。 我不确定它是Mint功能还是Cinnamon功能,还是可以安装的某些第三方工具。 谷歌搜索它什么都没有返回...是否可以在Ubuntu上安装此功能? 薄荷: Ubuntu /其他:

2
无法使用0.0.0.0网关删除路由
我正在尝试以一种允许我连接到Solum demo的Vagrant box的方式来设置路线。 我的路由表包含但不限于以下路由: $ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 0.0.0.0 255.255.255.0 U 9 0 0 wlan0 192.168.76.0 192.168.76.2 255.255.255.0 UG 0 0 0 vboxnet0 192.168.76.0 0.0.0.0 255.255.255.0 U 0 0 0 vboxnet0 我怀疑第三条路线(在Vagrant框启动时自动生成)干扰了第二条路线(手动创建),因此我尝试将其删除。 但是,使用以下任一命令 $ sudo route del 192.168.76.0 …

2
是否可以使用sandalias别名?
我正在寻找一种使以下别名适用于任何文件名的方法。 alias dim='cd /home/jason/Documents; vim *the desired file*; cd' 我想知道是否有一种方法可以更改此别名以使其能够输入以下任何文件名: dim *the desired file* 并且仍然得到相同的结果。基本上,有一种方法可以将别名后键入的任何内容调用为别名本身?就像是: alias dim='cd /home/jason/Documents; vim <what is typed after alias>; cd'
8 bash  alias 

3
强制终端命令返回代码“坏”(不是0)?
我有一个用python编写的框架,出于测试目的,我基本上想做一个子进程(又称shell调用)……应该简单地返回RC!= 0。或运行“退出1”;但是由于某种原因,这些文件已翻译为FileNotFoundError。 因此,我还能做些什么来触发返回代码!= 0(以“可靠”的方式;这意味着该命令不应在将来的某个时间点突然返回0)。 我以为“搜索”一个称为退出的二进制文件,但是: > /usr/bin/env exit /usr/bin/env: exit: No such file or directory

3
如何使用文本编辑器搜索Shell命令历史记录?
我知道Ctrl+ R让我们搜索命令历史记录,但这有点原始。有没有办法将我的所有命令历史记录(不仅是当前的终端会话,而是完整的历史记录)导出到文本文件?然后,我可以使用文本编辑器轻松地对其进行搜索。或者,如果历史文件已经存在,它在哪里?

1
使用单词列表在另一个列表中进行grep
我有一个包含250行的列表。我必须通过Web服务器运行所有这些文件,以获取输出列表。但是,此列表返回的行比我感兴趣的多得多。说,我list.txt是: a.1 b.1 etc 那么输出是output.txt: a.1 a b c a.2 b a b a.3 d k o b.1 b o p b.2 o i y b.3 p i y etc 是否可以使用grep命令在output.txt中搜索list.txt中的所有单词,然后生成“通缉”列表wanted.txt?我需要output.txt中的整行代码,这是脚本的新手,但是我想要的是诸如 grep list.txt output.txt > wanted.txt 我还没有找到任何这样的例子
8 bash  grep 

1
电源插入或拔出时如何运行脚本?
由于某些原因,当我插入或拔出电源时,笔记本电脑的屏幕亮度不会更新。我已经看过很多解决该问题的方法,但是似乎都没有一个很好的方法。因此,我没有失望而放弃,而是决定尝试将其转变为一种学习体验,看看我是否无法编写一个为我做的脚本。 我当然尝试在互联网的帮助下自己弄清楚这个问题,但是对于bash脚本和Ubuntu来说,我还很陌生,所以我走得很远。 我能弄清楚的是,我能找到电池的状态与 $ upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep -E "state" state: charging/discharging 取决于是否插入了AC适配器。我不知道它是否有用,但这还是很酷的,而且我以前也不知道如何使用grep,因此学习到底是一件很有趣的事情。 无论如何,有没有一种比较干净的方法来做到这一点?所谓“干净的方式”,我只是指的是一种可以理解bash脚本经验有限的人的方式。 我发现一个很好的答案是这个类似的问题,它说如下: 插入/拔出交流适配器时,脚本中的脚本/etc/pm/power.d会使用>参数调用:“ true”(如果使用电池供电)或“ false”(如果使用电源>适配器运行)。 问题是我不知道如何从脚本中访问该参数。因此,我想这全都归结为一个非常简单的问题,但是我认为无论如何如果人们有更好的解决方案,我还是会发布该问题。


2
为什么在使用sh和bash时会得到不同的输出?
我有以下简单的脚本: #!/bin/bash echo "Bash version ${BASH_VERSION}..." for i in {1..99..2} do echo $i done 如果我运行时输出sh file.sh: Bash version ... {1..99..2} 如果我运行时输出bash file.sh: Bash version 4.2.25(1)-release... 1 3 5 . . . 99 我有两个查询: 如果我写了一个指定shell的shabang行,那么无论我使用sh file.sh还是,它都不应与bash一起运行bash file.sh? 我知道$BASH_VERSIONsh无法识别,但是for循环有什么问题?为什么不打印数字?


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.