标签: bash

Cygwin - bash 脚本中的 cd

我是使用 Cygwin 的新手,如果这是一个非常新手的问题,我深表歉意。

我有一个 bash 脚本,我在其中“cd”到一个目录,然后在该目录中执行某些操作。但是,cd 命令失败并显示“没有这样的文件或目录 /c/code/blah/blah”。

如果我将 cd 行直接复制到 shell 提示符中,则它可以正常工作。它只是在脚本中失败。

[编辑] 根据要求,我添加了脚本中的实际行:

#!/bin/bash
cd /c/Code/Project
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助,
丹。

cygwin bash

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

Shell 任务完成的咆哮通知

(OSX 特定)

我和许多其他人一样,经常发现自己在 shell 中启动了一个需要一两分钟才能完成的进程(例如一个大型的 svn 提交)。在那段时间里,我经常使用 alt-tab 并刷新 reddit/slashdot/wikipedia/whatever。设置一些在 shell 进程结束时发布咆哮通知的东西会很棒。

在我的理想世界中,它会像这样工作:“如果一个进程刚刚从终端中打开的选项卡中退出,则发布咆哮通知。”

其他人有这样的设置吗?

bash shell growl macos

12
推荐指数
1
解决办法
4792
查看次数

从 Bash 脚本手动写入 PID 文件

我如何编写一个运行长时间运行的程序并将程序进程 ID 存储在单独文件中的 Bash 脚本?

我想要类似的东西

#!/bin/bash
exec long_running_tool
echo `ps af |grep "long_running_tool" |awk '$5 == "long_running_tool" {print $1}'` > pid_file
Run Code Online (Sandbox Code Playgroud)

但是,正是这样做会ps工具完成后执行。

有没有办法获取创建的进程的进程ID?

bash

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

如何计算找到的文件的总行数?

我正在运行 afind . -name pattern来查找一些文件,我想优雅地获取这些文件中的总行数。

我怎样才能做到这一点?

linux bash find

12
推荐指数
1
解决办法
9909
查看次数

我必须 sftp 到中间服务器吗?

我不能 sftp 直接进入特定主机。要将文件从我的家用机器移动到主机,我必须将文件通过 sftp 传输到中间主机;ssh 进入中间主机;和 sftp 文件到最终目的地。有没有可能避免这种疯狂?

linux ssh unix bash sftp

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

zsh 别名与默认参数,但也可覆盖

我目前有一个像这样的 zsh 别名设置。

alias e="subl"
Run Code Online (Sandbox Code Playgroud)

这让我e somedir可以在 SublimeText 中打开一个目录。或e .打开当前目录。

但是,我希望能够设置.为默认参数,或者我可以选择传入另一个目录。

所以e应该扩展到subl .

并且e somedir应该扩展到subl somedir

究竟是如何设置的?别名甚至是我在这里需要的吗?

bash zsh command-line

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

是否可以将前台进程置于后台而不挂起(control + z)?

我正在运行一个接收 TCP 和 UDP 数据包的应用程序,因此无法暂停。我最初在后台模式下使用&. 当我只做时$fg,所有三个进程都进入了前台。现在我想再次将它们发送到后台但没有暂停。我怎样才能做到这一点?

linux unix bash

12
推荐指数
1
解决办法
9951
查看次数

如何禁用 GNU 屏幕本身中的备用缓冲区但不适用于 vim,而不是在里面?

我想要完成的是我在常规 ssh 会话中习惯的鼠标滚轮滚动行为。在 bash 提示中,鼠标滚轮应该滚动我的终端输出,并在 less/vim 内滚动 - 他们使用的备用缓冲区,因此在退出时,less 内显示的文本没有任何剩余。如果我在 .screenrc 中禁用备用缓冲区功能,如下所示:

termcapinfo xterm ti@:te@
Run Code Online (Sandbox Code Playgroud)

然后它也被 vim/less 禁用,鼠标滚轮滚动不会被他们处理。启用屏幕的内部备用缓冲区模拟,如下所示:

altscreen on
Run Code Online (Sandbox Code Playgroud)

仅有助于在 less/vim 退出后恢复 bash 输出。不是在鼠标滚轮里面滚动。

那么,是否有任何屏幕选项,也许在某些屏幕分叉/替代方案中可以禁止屏幕本身使用备用缓冲区?

bash vim xterm gnu-screen

12
推荐指数
1
解决办法
1046
查看次数

如何更改适用于 Windows 的 Linux 子系统的默认 shell

我已经为 Windows 10 安装了 Linux 子系统。它工作正常,但我想更改子系统的默认 shell 环境。

我做了sudo apt-get install fish然后chsh -s /usr/bin/fish。但是当我bash.exe在 Windows 中启动时,它总是启动 bash(我认为这是可以预测的)。

有谁知道改变这种行为的论据?

bash shell windows-10 windows-subsystem-for-linux windows-10-v1607

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

Bash on Ubuntu on Windows Mount Network Share

我已经更新了 Windows 10 并在 Windows 上安装了新的 bash。

但是,在我尝试过的两台 PC 上,我都无法安装网络共享。

我尝试了许多不同的方法来安装共享:

sudo mount -t cifs -o username=xx,password=xx //192.168.x.x/Share /mnt/s

运行上面的命令时,它看起来已经起作用了,没有错误(即使有--verbose选项)但是/mnt/s什么也不mount显示并显示://192.168.x.x/Share on /mnt/s type cifs (rw).

我能够使用 smbclient 浏览共享上的所有文件/文件夹

windows mount bash cifs ubuntu

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