Questions tagged «shell»

Shell是Unix的命令行界面。您可以交互地在外壳程序中键入命令,也可以编写脚本来自动执行任务。使用此标记可解决适用于/ bin / sh和大多数兼容shell(ash,bash,ksh,zsh等)的问题。对于有错误的Shell脚本,请在此处发布之前在http://shellcheck.net中对其进行检查。




6
清除命令如何工作?
最近,我试图了解有关Shell如何工作的更多信息,并正在研究clear命令的工作方式。该可执行文件位于其中,/usr/bin/clear它似乎打印出一堆空行(等于终端的高度),并将光标置于终端的左上角。 无论终端的大小如何,命令的输出始终相同: $ clear | hexdump -C 00000000 1b 5b 48 1b 5b 32 4a |.[H.[2J| 00000007 并可以使用具有完全相同效果的回声进行复制: $ /bin/echo -e "\x1b\x5b\x48\x1b\x5b\x32\x4a\c" 我真的很好奇这个命令的输出如何转换为清除控制台。
33 shell  terminal 

8
如何使用外壳在不同的音频输出硬件之间切换?
我将笔记本电脑与带有扬声器的外接显示器一起使用。通过HDMI连接显示器时,我可以在笔记本电脑的正常音频输出和显示器输出之间切换(使用GUI:声音设置->硬件)。 我花了很多时间重复这个过程,我开始怀疑我是否可以自动化它,或者无论如何,可以使用Shell以更快的方式执行它。 我的发行版是带有gnome 3的Ubuntu 12.04。 编辑: 我尝试使用pacmd,但是列表接收器仅向我提供我当前正在使用的设备: pacmd list-sinks | grep name: name: <alsa_output.pci-0000_00_1b.0.hdmi-stereo> 从GUI切换后: pacmd list-sinks | grep name: name: <alsa_output.pci-0000_00_1b.0.analog-stereo> 如果我尝试更改它,则会得到: pacmd set-default-sink alsa_output.pci-0000_00_1b.0.hdmi-stereo Welcome to PulseAudio! Use "help" for usage information. Sink alsa_output.pci-0000_00_1b.0.hdmi-stereo does not exist.

9
vi内的Bash命令
是否可以在vi中键入bash命令并获取标准输出? 我发现关闭并重新打开vi通常很乏味,因为我想在shell中查找内容。
33 bash  shell  vim  vi 


3
一个shell工具,以“制表”输入数据
很久以前,我记得使用一个命令,将其输入到格式良好的表中。 例如,对于此输入, apple 1 100 orange 20 19 pineapple 1000 87 avocado 4 30 输出将类似于以下内容: apple 1 100 orange 20 19 pineapple 1000 87 avocado 4 30 我想知道这个工具的名字。
33 shell 


15
如何在多个选项卡/外壳中同时运行同一Linux命令?
Linux中是否有任何工具/命令可用于在多个选项卡中同时运行命令?我想运行相同的命令:./myprog argument1 argument2同时在多个shell中检查互斥对象在线程程序中是否工作正常。我希望能够增加该程序的实例数量,以便以后使我的代码承受压力。 我有点在寻找像墙一样的东西。我可以考虑使用tty,但是如果我不得不将其扩展到更多的shell的话,这似乎很痛苦。

4
如何在序列的外壳括号扩展中使用$ variable?
我想$var in在bash中使用带范围的shell括号扩展。简单地推杆{$var1..$var2}是行不通的,所以我就“横向”了。 以下工作有效,但有点麻烦。 # remove the split files echo rm foo.{$ext0..$extN} rm-segments > rm-segments source rm-segments 有没有更“正常”的方式?

8
在文件名中获取扩展名
我如何从bash获取文件扩展名?这是我尝试过的: filename=`basename $filepath` fileext=${filename##*.} 通过这样做,我可以bz2从路径中得到扩展/dir/subdir/file.bz2,但是路径有问题/dir/subdir/file-1.0.tar.bz2。 如果可能,我希望仅使用bash而不使用外部程序的解决方案。 为了明确说明我的问题,我正在创建一个bash脚本,仅需通过一个命令即可提取任何给定的存档extract path_to_file。如何提取文件由脚本通过查看其压缩或归档类型来确定,该类型可以是.tar.gz,.gz,.bz2等。我认为这应该涉及字符串操作,例如,如果我得到扩展名,.gz则我应该检查它.tar之前是否有字符串.gz-如果有,扩展名应该是.tar.gz。
33 bash  shell  filenames 

5
tar提取取决于文件名吗?
我经常使用wget从sourceforge.net下载tarball。 然后将下载的文件命名,例如 SQliteManager-1.2.4.tar.gz?r=http:%2F%2Fsourceforge.net%2Fprojects%2Fsqlitemanager%2Ffiles%2F&ts=1305711521&use_mirror=switch 当我尝试 tar xzf SQliteManager-1.2.4.tar.gz\?r\=http\:%2F%2Fsourceforge.net%2Fprojects%2Fsqlitemanager%2Ffiles%2F\&ts\=1305711521\&use_mirror\=switch 我收到以下错误消息: tar (child): Cannot connect to SQliteManager-1.2.4.tar.gz?r=http: resolve failed gzip: stdin: unexpected end of file tar: Child returned status 128 tar: Error is not recoverable: exiting now 将文件重命名为foo.tar.gz解压缩后效果完美。 有没有一种方法,在提取之前我不必每次都重新命名目标文件?
33 shell  tar  gzip 



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.