标签: bash

bash - 测试磁盘是否未分区

我目前正在研究使用 mhddfs 聚合可用磁盘空间的 DIY 网络存储。

现在我想要的是,例如给定一个热插拔托架,当我插入一个全新的未分区磁盘时,我希望使用 bash 脚本自动对磁盘进行分区并挂载新的 mhddfs 分区。

如果服务器关闭,插入新磁盘并再次打开服务器,则会出现相同的情况。

所以问题是:如何使用 bash 脚本检测未分区的磁盘?

问题还包括不应有错误检测。例如,如果插入了一个加密磁盘,它不应该被自动重新分区和格式化——这一点是问题的主要兴趣点。

storage nas bash partitioning dd

6
推荐指数
2
解决办法
1万
查看次数

当我通过 ssh 进入 ubuntu 机器时,我使用的是哪种 shell

我一直在阅读有关交互式、非交互式、登录和非登录 shell 的信息。

(这是在读取哪个 .bash* 文件的上下文中)。

我不明白每种类型的外壳是什么,所以让我们从基础开始。

如果我从我的 mac ssh 到我的 ubuntu 机器,什么类型的 shell 会被启动?

ssh bash shell ubuntu

6
推荐指数
1
解决办法
5470
查看次数

如何从命令行停止 bash 脚本?

我有一个用于在 OS X 上运行 XCode 的 bash 脚本,这需要几分钟。如果我发现错误,我找不到停止它的关键命令......在 DOS 上我已经习惯了Ctrl+C/Ctrl+Z但似乎都不起作用。我在寻找什么(在标准 OS X 终端上)?

bash macos

6
推荐指数
2
解决办法
3万
查看次数

是否可以修改 bash 以通过另一个命令运行一个命令(比如 python 脚本)?

我想知道是否可以修改 bash 以便在我输入时

command --arg1
Run Code Online (Sandbox Code Playgroud)

实际发生的是

~/prerun.py command --arg1
Run Code Online (Sandbox Code Playgroud)

(prerun.py 将处理启动命令 --arg1 本身)

谢谢!

bash shell python

6
推荐指数
2
解决办法
187
查看次数

bash 中类似 Vim 的历史?

在 bash 中,可以使用向上和向下键滚动命令历史记录。在 vim 中,这也是可能的(按下 后:)。但是对于 vim,如果您键入前一个命令的前几个字母,则向上/向下循环仅通过以这些字母开头的命令。这在 bash 中非常有用,特别是对于像cd, 和vim它本身这样的命令来说非常简单。有没有办法在 bash 中获得这种行为?

我知道 bash 中的历史搜索功能,但它远没有那么容易和快速使用。

bash vim command-history

6
推荐指数
1
解决办法
1049
查看次数

Mac 终端:资源暂时不可用

当我尝试运行多个不同的进程时,我在 Mac 终端中收到一条错误消息。我在这个网站上做了一些谷歌搜索和查看,发现这可能与一次运行太多进程有关。但是,当我只打开几个窗口(比我习惯的要少得多)时,我会收到这些错误消息。查看活动监视器,我的 %User 数字约为 25%,而 %System 数字约为 15%。过去,我的价格要高得多(直到 Apple 商店的人告诉我要留意它)。那么现在这些数字降低了,Resource temporarily unavailable错误信息的解释是什么?

heroku(云托管)控制台

-bash: fork: Resource temporarily unavailable -bash-3.2$ 
Run Code Online (Sandbox Code Playgroud)

在终端中打开新窗口时

sh: fork: Resource temporarily unavailable
sh: fork: Resource temporarily unavailable
Run Code Online (Sandbox Code Playgroud)

试图运行

-bash: fork: 资源暂时不可用

mac bash

6
推荐指数
1
解决办法
9997
查看次数

如何在 bash 命令行上恢复 shell 变量的制表符完成?

我一直将最近访问的目录设置为 shell 变量 d1、d2 等。

在古老的 Fedora 机器上,我可以输入类似的命令

$ cp $d1/

并且 shell 会将 $d1 替换为类似 /home/acctname/projects/blog/ 的文本,然后会向我显示 .../blog 的内容,就像您期望任何制表符完成一样。

现在,ubuntu wheezy/sid 和 fedora 16 都只是 \-escape '$',自然没有完成显示。

您可以在 OSX 终端窗口中看到这种行为。在 10.8 上,执行类似的操作

ls $HOME/ 看看我的意思。

是否有可以恢复旧行为的 bash shell 变量或选项?

man bash 表明这是一个错误:

   complete (TAB)
          Attempt  to  perform  completion  on  the  text  before  point.  Bash
          attempts completion treating the text as  a  variable  (if  the  text
          begins  with  $),  username (if the text begins with ~), hostname (if
          the text …
Run Code Online (Sandbox Code Playgroud)

bash tab-completion

6
推荐指数
1
解决办法
2805
查看次数

从 Linux 机器访问远程 Windows“Git Bash”提示?

“Git Bash”是Git for Windows附带的程序。为了从 linux 机器到远程 Windows 机器上的 Git Bash 提示,我通常的过程是使用remmina打开一个 RDP 连接,然后打开一个新的 Git Bash 窗口。

有没有办法使用我的 bash shell 登录,而不必使用 GUI 的东西?

windows linux bash git msysgit

6
推荐指数
2
解决办法
4492
查看次数

如何设置带点的环境变量?

我找不到用点 (.) 设置环境变量的方法。

例如:

export mule.home=/Users/chandra/mule/
export {mule.home}=/Users/chandra/mule/
export $mule.home=/Users/chandra/mule/
Run Code Online (Sandbox Code Playgroud)

都抛出一个错误,表明它不是一个有效的标识符,比如:

-bash: export: `.home=/Users': not a valid identifier
Run Code Online (Sandbox Code Playgroud)

设置mule_home有效但无效mule.home。任何想法,建议?

bash environment-variables macos

6
推荐指数
1
解决办法
9118
查看次数

终端寻呼机:如何在列中显示列表?

我确定这很简单,但我不记得如何告诉终端寻呼机(更多/更少/pg/最)在列中显示一个长列表。

由于我的输入只是一个简短元素的列表,ls默认情况下以相同的方式显示它可以节省我不必要的滚动和宝贵的屏幕空间。

坏的:

aaa
bbb
ccc
ddd
eee
fff
ggg
hhh
iii
Run Code Online (Sandbox Code Playgroud)

好的:

aaa ddd ggg
bbb eee hhh
ccc fff iii
Run Code Online (Sandbox Code Playgroud)

terminal bash

6
推荐指数
1
解决办法
8941
查看次数