问题标签 [shell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
41699 浏览

bash - 如何匹配sed中的单引号

如果表达式用单引号括起来,如何匹配 sed 中的单引号:

例如需要匹配这个文本:

0 投票
29 回答
225070 浏览

bash - 从 shell 脚本检查目录是否包含文件

从 shell 脚本中,如何检查目录是否包含文件?

类似的东西

但如果目录包含一个或多个文件(上述文件仅适用于恰好 0 或 1 个文件),则此方法有效。

0 投票
9 回答
70214 浏览

linux - 使用 grep 查找文件中的内容并在匹配时移动它们

我正在使用 grep 生成我需要移动的文件列表:

如何将此列表传递给 mv 命令并将文件移动到其他位置?

0 投票
11 回答
184689 浏览

linux - Linux 相当于 DOS 暂停是什么?

我有一个 Bash shell 脚本,我想在其中暂停执行,直到用户按下一个键。在 DOS 中,这很容易通过pause命令完成。我可以在我的脚本中使用 Linux 等价物吗?

0 投票
1 回答
313 浏览

winapi - How to protect yourself against shell DLLs loaded into your process?

When you use a standard Windows "file open" dialog using GetOpenFileName(), the shell will load various DLLs that it requires to display the file list, including custom ones.

In my application, I found that the DLL that TortoiseCVS uses to draw overlays on the icons was calling GdiPlusShutdown(), and so some time after displaying a "file open" dialog, the TortoiseCVS DLL would be unloaded, it would shut down GDI+ and my graphics functions would all fail!

It seems quite bad that basically any old DLL could be loaded by my application at any time and start doing random things to its state. The workaround in my case was quite simple - just restart GDI+ if I detect that it's been shut down. However had this happened on a client's machine where I couldn't debug it, it would have been a lot more challenging to figure out what was going on.

Can anybody offer any insight? What could I do to stop this from happening?

0 投票
2 回答
32336 浏览

shell - 用 mailx 和 uuencode 发送附件的 KornShell (ksh) 代码?

我需要用mailx附加一个文件,但目前我没有成功。

这是我的代码:

任何反馈将不胜感激。


更新 我添加了附件 var 以避免每次都使用路径。

0 投票
11 回答
161497 浏览

linux - 如何在 *nix 中登录时运行脚本?

我知道我曾经知道如何做到这一点,但是......你如何在 unix 登录时运行脚本(bash 可以)?

0 投票
1 回答
2129 浏览

python - 如何在 Komodo 中将 python 模块加载到新的交互式 shell 中?

使用 PyWin 时,我可以轻松地将 python 文件加载到新的交互式 shell 中,我发现这对于原型设计和其他探索性任务非常方便。

我想使用 Komodo 作为我的 python 编辑器,但我还没有找到替代 PyWin 重新启动 shell 和重新加载当前模块的能力。我怎样才能在科莫多做到这一点?

对我来说也很重要的是,当我重新加载时,我会得到一个新的外壳。如果我以前的交互在 shell 历史中,我会更喜欢它,但对我来说更重要的是内存与以前的版本和尝试隔离。

0 投票
7 回答
132072 浏览

bash - 如何在 bash 中转义通配符/星号字符?

例如:

并使用\转义字符:

我显然在做一些愚蠢的事情。

我如何获得输出BAR * BAR

0 投票
3 回答
7546 浏览

linux - 断管不再结束程序?

当您管道两个进程并在管道的“输出”处终止一个进程时,第一个进程用于接收“Broken Pipe”信号,这通常也会终止它。例如跑步

然后在 SuSE8 或更早版本上退出less used 以立即将您返回到响应式 shell。当我今天尝试这样做时,do_something_intensive显然仍在运行,直到我手动将其杀死。似乎有些东西发生了变化(glib?shell?),使程序忽略“破管道”......

你们中有人对此有提示吗?如何恢复以前的行为?为什么它被改变了(或者为什么它总是存在多种语义)?

编辑:进一步的测试(使用 strace)显示生成了“SIGPIPE” ,但程序没有中断。一个简单的

将永无止境地继续下去

更少被杀死时。我可以肯定地在我的程序中编写一个信号处理程序并确保它终止,但我更多的是寻找一些环境变量或 shell 选项来强制程序在 SIGPIPE 上终止

再次编辑:这似乎是一个特定于 tcsh 的问题(bash 正确处理它)并且依赖于终端(Eterm 0.9.4)