Tag: bash

如何将mkdir cd放入新创建的目录中?

我经常在bash中输入这些命令: mkdir something cd something 我几乎从不这样做: mkdir something ls # something in the current directory, not ./something/ 从来没有这样: mkdir something something2 如何将mkdir cd放入新创建的目录中? 我的意思是,如果我mkdir something ,比命令cd something之后立即执行。 例: $ pwd /home/me $ mkdir something $ pwd /home/me/something

如何在bash脚本中检查apt-get错误?

我正在编写一个bash脚本来安装软件并更新Ubuntu 12.04。 我希望脚本能够检查apt-get错误,特别是在apt-get update期间,这样我就可以包含更正命令或者使用消息退出脚本。 如何让我的bash脚本检查这些类型的错误? 编辑3月21日:感谢terdon提供我需要的信息! 这是我创建的脚本,其中包含检查更新的建议,并在发生错误时重新检查,然后报告。 我将把它添加到我用来定制新的Ubuntu安装的更长的脚本中。 #!/bin/bash apt-get update if [ $? != 0 ]; then echo “That update didn’t work out so well. Trying some fancy stuff…” sleep 3 rm -rf /var/lib/apt/lists/* -vf apt-get update -f || echo “The errors have overwhelmed us, bro.” && exit fi echo “You are all updated […]

tail:inotify不能使用,恢复轮询:打开文件太多

当我尝试tail -f catalina.out ,我收到错误: tail: inotify cannot be used, reverting to polling: Too many open files 我在这篇文章中尝试了答案: 太多打开的文件 – 如何找到罪魁祸首 lsof | awk ‘{ print $2; }’ | sort -rn | uniq -c | sort -rn | head 当我运行上面的命令时,输出是 17 6115 13 6413 10 6417 10 6415 9 6418 9 6416 9 6414 8 6419 […]

如何制作脚本支持文件:///表示法?

当我复制任何文件并将其粘贴到控制台或文本编辑器中时,它将作为传递 文件:/// home / user中/路径/文件 当我把它传递给脚本时,它找不到 什么是将其转换为普通linux路径或以某种方式使脚本支持它的最简单方法? 例如 cat file:/// home / user / path / file 说 没有相应的文件和目录

用于监视文件更改和执行命令的Bash脚本

我有一个带有一堆子文件夹的文件夹,这些文件夹有asciidoctor格式化.adoc扩展名。 每次我对文件进行更改(通常是这样)我都需要运行 asciidoctor -q filename.adoc 将其编译成HTML格式。 我正在尝试自动化这个过程。 到目前为止,我已经使用entr来了: ls *.adoc | entr asciidoctor -q *.adoc 但仅适用于现有文件夹而不适用于子文件夹。 我尝试过这种变化,但它不起作用: find . -name ‘*.adoc’ | entr asciidoctor -q *.adoc 有关如何为所有子文件夹实现此自动化过程的任何想法?

在shell历史记录中查找旧命令

如何找到我在终端中运行的旧命令? 我使用了一个appengine命令,希望在我的本地命令历史中找到它,而无需再次在线研究它。

从键盘快捷方式启动应用程序与终端之间的区别?

我所观察到的: 当我在gnome-terminal中键入emacs时,它会在相同的环境中启动,变量设置在.bashrc 。 如果我使用命令emacs的键盘快捷键,它将在没有这些变量的环境中打开。 问题: 这种行为有原因吗? 如何在具有.bashrc设置的环境中打开emacs? 如果我有root访问权限,我可以在系统范围内设置这些变量吗? 附加背景:我需要的是能够从R中访问变量,如相关的SO问题( 如何在emacs中从R中访问bash环境变量 )中所述,我还需要通过我的texlive分发的路径Auctex。 目前的问题不同之处在于我更感兴趣的是从终端内启动emacs和从应用程序菜单,Gnome-do或调用emacs或/usr/bin/emacs23 %F键盘快捷键启动emacs之间的区别。 。

重用`apt update`和`apt upgrade`命令的`apt up`部分,只需一行就能按顺序执行

如何重用apt update和apt upgrade命令的apt up部分,只需一行就可以执行这两个命令而不需要别名。 类似于: apt up{date,grade} 。

脚本chroot,怎么样?

所以我在看: https://help.ubuntu.com/community/LiveCDCustomizationFromScratch 并在bash脚本中尝试以下内容: sudo chroot chroot mount none -t proc /proc mount none -t sysfs /sys mount none -t devpts /dev/pts 运行脚本会在sudo chroot chroot到shell。 当我exit ,我收到有关mount需要root的预期警告。 有没有办法可以将所有这些保留在一个shell脚本中? 编辑:我希望这是一个可重复的过程,这就是为什么我想编写整个脚本而不是一次又一次地输入它。

在Ubuntu中`setx`等价

Windows有一个名为setx的powershell命令,用于在用户或系统环境中创建或修改环境变量。 Ubuntu是否有类似的命令,即不使用nano或vi ,只需要一行来添加或更新系统范围的环境变量。 实施解决方案 一行添加/更新 grep env_name /etc/environment && sed -i.bak ‘s/env_name=.*/env_name=”env_value”/’ /etc/environment || echo ‘env_name=”env_value”‘ >> /etc/environment