Questions tagged «bash»

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

4
我打破了我的.bash_profile
在尝试在我的Mac OSX机器上安装某些东西的过程中,我想我已经破坏了我的〜/ .bash_profile文件。我编辑了它,突然,现在,当我打开终端时,我无法运行任何内容,甚至列出文件: $ ls -bash: ls: command not found 不好了!我尝试打开emacs来编辑〜/ .bash_profile,但我不能: $ emacs ~/.bash_profile -bash: emacs: command not found $ port install emacs MacPorts running without privileges. You may be unable to complete certain actions (eg install). ---> Computing dependencies for emacs MacPorts running without privileges. You may be …


2
如何打印7zip存档的目录树?
在提取之前archive.7z,我总是检查一下: $ 7z l archive.7z ...SKIP... 2010-01-01 00:00:00 ..... 25856 7367 jsloader/resource/gre/modules/source-editor-textarea.jsm 2010-01-01 00:00:00 ..... 4656 1669 jsloader/resource/gre/modules/FileUtils.jsm 2010-01-01 00:00:00 ..... 1856 943 jsloader/resource/gre/modules/DownloadPaths.jsm 2010-01-01 00:00:00 ..... 7096 2724 jsloader/resource/gre/modules/CertUtils.jsm 2010-01-01 00:00:00 ..... 540 346 jsloader/resource/gre/modules/jsdebugger.jsm 2010-01-01 00:00:00 ..... 12964 4225 jsloader/resource/gre/modules/CommonDialog.jsm 2010-01-01 00:00:00 ..... 9692 3272 jsloader/resource/gre/modules/NetworkHelper.jsm 2010-01-01 00:00:00 …
4 bash  archiving  7-zip  tree 

1
在bash中转换时间戳字符串的时区
我有一个从文件名中提取的日期/时间字符串。我知道时间戳是使用时区A编写的,我需要将其转换为时区B以进行进一步处理。在bash中这可能吗? 例如: filenameTimestamp="2015-01-20 18:05:02" timezoneA="Australia/Sydney" timezoneB="Australia/Brisbane" 我假设我将不得不使用时区A解析字符串,然后使用时区B将其再次输出到字符串。
4 linux  bash 

1
bash提示中的真实颜色?
是否可以在bash提示符中使用真彩色?我在MacOS上使用iTerm2,它支持真彩色。但不确定我如何使用真正的颜色为我的bash提示。 目前我正在使用tput af <number>bash提示获取颜色。
4 bash  colors  prompt 

2
如何旋转类似于logrotate的枚举文件名?
我有几个文件,比如map-0.jpg(最新),map-1.jpg,map-2.jpg,...,map-9.jpg(最旧的)。现在我的cronjob从互联网上下载了一张新照片,并将它保存为map-0.jpg。但是,所有其他文件都应该重新枚举(0 - > 1,1 - > 2,依此类推)。在我的情况下,9号可以丢弃。 是否有一个方便的bash命令枚举我的文件类似于logrotate? 感谢帮助!
4 linux  bash  logrotate 

1
在启动tmux时,尽管已删除了复活,但仍显示已恢复的会话
删除tmux复活并清理整个文件夹〜/ .tmux /,同时在bash中启动tmux(MacOsX El Captain)我得到了信息: “恢复的会议:星期四9月15日17:15:04 CEST 2016” 我假设我没有完全删除tmux ressurrect或tmuxinator但我无法找到一种方法来禁用它。 编辑: find / tmux - 找不到文件或目录 查找/复活 - 未找到任何文件或目录 卸载并重新安装后再次使用tmux(使用brew)仍然没有帮助 EDIT2:命令cat tmux-server-4144.log |的输出 grep会话 1473953899.570430 cmdq 0x7fe92ae04d10: bind-key $ command-prompt -I#S "rename-session '%%'" 1473953899.570436 preparing state for bind-key $ command-prompt -I#S "rename-session '%%'" (client 0x0) 1473953899.573639 cmdq 0x7fe92ae09cd0: new-session 1473953899.573643 …
4 bash  tmux 

3
为什么某些命令不采用输入重定向?
例如,echo: [aesteban@localhost ~]$ cat tmp.txt Angel [aesteban@localhost ~]$ echo < tmp.txt [aesteban@localhost ~]$ 如您所见,输出只是空白行。根据我的阅读,某些命令能够进行输入重定向,例如mail: [aesteban@localhost ~]$ mail barney@example.com < tmp.txt 那么,输入重定向是否仅适用于交互式命令(能够等待输入的命令)?如何确定命令是否是交互式的(除了尝试)?

1
使用docker可以确定哪些图像依赖于另一个图像
随着docker我可以找出所有命名和标记的集装箱,docker images其中列出了出来。 我可以找出给定图像使用的其他图像,docker inspect --format '{{.RootFS.Layers}}' _imageId_并且通过手动比较SHA可以看到图像B使用图像A。 有什么办法可以让docker告诉我或使用bash(或可移植外壳)脚本来查找依赖于给定图像的所有命名图像。例如,在此示例中,当我根据A搜索图像时,将返回B。 我一直没有成功搜索docker帮助输出,在线docker文档,google和SE,SO,SU来寻找现有的替代方案来手动发现依赖关系。
4 bash  docker 

1
Pacmd动态范围压缩Ubuntu 14.04
我使用下面链接的答案在运行Ubuntu 14.04的Ubuntu媒体盒上成功设置动态范围压缩(SteamOS会话,因此没有可用的Ubuntu桌面会话)。 实时声音后处理,音效,Ubuntu 10.04 我创建了一个超级简单的bash脚本来连续运行这些命令。看起来像这样 #!/bin/bash pacmd load-module module-ladspa-sink sink_name=ladspa_out \ plugin=mbeq_1197 label=mbeq \ control=11.621622,10,4.594594,2.702703,0,0, \ -1.621622,-0.270270,-5.405406,-3.513514,-8.648648, \ -5.675676,-4.054054,1.351351,9.189189 && pacmd load-module module-ladspa-sink sink_name=sc4m \ plugin=sc4m_1916 label=sc4m control=1,1.5,401,-30,20,5,12 && pacmd set-default-sink sc4m 如何让它在系统启动时运行? 我可以从我的主目录或/usr/bin/compress_audio.sh运行这个没问题,但它不会在启动时运行。我尝试将/usr/bin/compress_audio.sh添加到/etc/rc.local但没有骰子。我想也许PulseAudio守护进程在rc.local运行之后才会启动,但是我不确定在那种情况下该做什么。 我在/etc/rc.local中有另一行 nohup plexmediaserver & 我不确定这可能有问题吗? 感谢您的任何建议或意见! 编辑:我尝试将pacmd命令放入/etc/rc.local中,我仍然需要在启动后手动运行/etc/rc.local以使DRC正常工作。这让我绝对疯狂。运行/etc/rc.local的用户可能无法访问pacmd吗? Edit2:将/etc/rc.local更改为 su [user] -c '/usr/bin/compress_audio.sh > /home/gsparx/audio_compress.log' 希望强制用户和日志。当我以root身份运行/etc/rc.local时,它会正确记录并添加DRC。在启动时,它不会记录也不会启用DRC,因此它似乎根本没有运行。 Edit3:尝试将这些配置添加到/etc/pulse/system.pa也无济于事

1
如何为wget编码网址?
我正在寻找一种方法将字符串转换为 清洁 网址。 例如 : wget http://myurl.com/toto/foo bar.jpg 这将是下载 http://myurl.com/toto/foo 和 http://bar.jpg。 我想下载 http://myurl.com/toto%20bar.jpg。 我尝试了一些旗帜 --restrict-file-names=ascii 但没有成功。 我不想要一种编码方式,而不是一种逐一替换。 任何的想法 ?
3 bash  wget  url  sh 

2
如何执行命令,如果失败,执行另一个命令并返回1?
我习惯了其他语言的这种风格: do_something || (log_error; return 1) # do something, and if that fails, log the error and then return 1 no matter what, even if the logging fails. 但我似乎无法在bash中找到相同的东西。问题是括号工作类似于具有其自身范围的函数,并且返回1将不具有预期的行为。 这是我到目前为止所做的,但并不完美: ! do_something && log_error && return 1 这个问题就是!令人困惑,返回1取决于日志记录的成功。 这个更好,但更详细: do_something || (log_error; return 1) || return 1 有什么想法吗?
3 linux  bash 

1
从命令行多线程批量下载URL
我有100,000个小文件网址可供下载。想使用10个线程和流水线是必须的。我将结果连接到一个文件。目前的做法是: cat URLS | xargs -P5 -- curl >> OUTPUT 是否有更好的选择可以显示整个操作的进度?必须从命令行工作。

1
Linux陷阱信号处理SSH连接丢弃/被杀死
我在一个npm脚本中有一个命令,它连接到一个远程构建服务器并运行一个Bash脚本。该脚本设置了一个锁文件和一个 trap 调用在脚本退出时删除lockfile。 我正在取消该操作 CTRL + C 在这两种情况下。 LOCKFILEPATH="/tmp/env_app.lock" # cleanup function just deletes $LOCKFILEPATH function mutex() { if [ -f "$LOCKFILEPATH" ]; then echo -e "\n\n${redtext}Build already in progress! Exiting.${resettext}\n\n"; exit 1; else touch $LOCKFILEPATH; trap cleanup EXIT; fi } 当您第一次通过SSH进入主机运行它时,这可以正常工作,但是当您通过SSH发送命令时,陷阱不起作用 ssh hostname command 我尝试添加trap命令来运行更多信号,但这些似乎也不起作用: trap cleanup EXIT SIGHUP …
3 linux  bash  ssh 

2
如何重构这一行bash代码,以便我可以对每条指令进行评论?
我有一行bash: SAMPLES=$(for f in `find $IN -iname *fastq.gz `; do basename $f | cut -c 1-4; done | sort | uniq) 我试图分成多行来评论每一行。我想要类似下面这样的内容,每行或在行后面有注释: SAMPLES= #comment $(for f in `find $IN -iname *fastq.gz `; \ #comment do basename $f | #comment cut -c 1-4; done | #comment sort | #comment uniq) 我见过两者 …
3 bash  comments 

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.