标签: shell

shell这个词是进程的同义词吗?

这篇文章:

Sourcing 将执行当前 shell 中的命令,执行将创建一个新的 shell 并在那里执行命令。

他描述每个 shell 都有自己的 PID。我看不出 shell 和 process 之间有什么区别,至少在他的上下文中如何使用 shell 这个词没有区别。

linux bash shell

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

链接多个文件

在 中bash,假设我想链接目录中的一些但不是所有文件,例如,

ln -s /dir/file1 /dir/file2 ... /other/dir
Run Code Online (Sandbox Code Playgroud)

但是文件名的格式不遵循一些简单的规则,所以我们不能使用类似

ln -s /dir/file* /target/dir.
Run Code Online (Sandbox Code Playgroud)

无论如何不要重复/dir,例如:

/dir/{file1 file2 ...} = /dir/file1 /dir/file2 ...
Run Code Online (Sandbox Code Playgroud)

所以我们可以做这样的事情:

ln -s /dir/{file1 file2 ...} /target/dir
Run Code Online (Sandbox Code Playgroud)

linux bash shell command-line

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

'expr' 的 ZSH 等价物是什么?

expr 实用程序计算表达式并将结果写入标准输出。

评估表达式并打印结果的规范 ZSH 方法是什么?

解决方案:

我相信答案是使用 eval:

例如:

% eval 'export FOO=baz'
% echo $FOO
baz
Run Code Online (Sandbox Code Playgroud)

我还发现了一个类似的超级用户问题“zsh 运行存储在变量中的命令?”

zsh shell

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

在单行 bash 命令中多次使用参数

我偶尔需要运行一个命令,例如:

mv "very-long-file-name.x" "very-long-file-name.y"
Run Code Online (Sandbox Code Playgroud)

我想在不重复两次很长的文件名的情况下实现这一点......

我知道如何通过将“非常长的文件名”一次传递给一个 bash 脚本,然后该脚本将使用 $1 来做到这一点......但是我怎么能在没有脚本的情况下做到这一点?

bash shell

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

virtualbox 增加 cpu 核心脚本明智

1x cpu 内核对于 SMB 文件共享 Ubuntu 盒是不够的。

我们如何在午夜关闭虚拟机,增加 CPU 内核 1->2,然后打开那个盒子(脚本方式)?

(它是一个 Windows 主机......但也欢迎 Linux 示例 :)

截图在这里 - > http://dwaves.de/index.php/2014/09/22/virtualbox-box-management/

linux cpu virtualbox shell bash-scripting

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

如何区分shell脚本中两个命令的重定向

在命令行中,我可以比较两个命令的输出

$ diff <(cmd1) <(cmd2)
Run Code Online (Sandbox Code Playgroud)

但如果我把它放在一个 shell 脚本中

$ sh do_two_comands_diff.sh
Run Code Online (Sandbox Code Playgroud)

这是行不通的

$ diff <(ls) <(ls -a)
0a1,2
> .
> ..

$ cat > test_diff.sh
diff <(ls) <(ls -a)
^D

$ sh test_diff.sh
test_diff.sh:1: test_diff.sh: Syntax error: "(" unexpected
Run Code Online (Sandbox Code Playgroud)

我尝试使用 $() 代替 () ,但没有成功。我知道在 shell 内部有时需要以与在控制台中不同的方式来完成,但在这里我没有任何线索。有人可以这么好心地将我指向正确的链接,以了解如何在 shell 中正确执行这些操作,以及为什么会发生这种情况?

P。

linux bash shell command-line

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

如何在 Linux shell 中重新控制单独的进程?

我刚刚在我的 VPS 上为我的兄弟设置了一个 Minecraft 服务器,并使用 bash 脚本运行它:
sh ./server.sh&

这样,服务器正在运行,我仍然可以使用腻子在同一命令行上工作。但是如果我想向 Minecraft 服务器输入命令怎么办?我如何在控制台屏幕上恢复它:
[10:17:23] [Server thread/INFO]: Starting minecraft server version 1.7.10 [10:17:23] [Server thread/INFO]: Loading properties [10:17:23] [Server thread/INFO]: Default game type: SURVIVAL [10:17:23] [Server thread/INFO]: Generating keypair [10:17:24] [Server thread/INFO]: Starting Minecraft server on *:25565 [10:17:24] [Server thread/INFO]: Preparing level "world" [10:17:24] [Server thread/INFO]: Preparing start region for level 0 [10:17:25] [Server thread/INFO]: Preparing spawn area: 52% [10:17:26] [Server thread/INFO]: Preparing spawn area: 99% [10:17:26] [Server thread/INFO]: Done (2.132s)! For …

linux debian bash shell

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

将 stderr 重定向到第二个终端 / tty

我尝试过rse将标准输出和标准错误流与程序区分开来;但我真的很喜欢在单独的终端中查看两者的选项,而无需重定向到文件并拖尾它或其他东西(假设任一流都可以打印 ANSI 终端控制代码。)

有没有办法在新终端或类似的东西中打开现有进程的标准错误?

terminal shell terminal.app stdout

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

如何将目录(文件夹及其内容)复制到另一个目录?

这是我的文件结构:

- someDirA
  -  folderOne
  -  folderTwo
     - somefile.txt
     - someotherfile.txt

- someDirB
  -  somefolder
Run Code Online (Sandbox Code Playgroud)

我希望 'someDirB' 看起来像:

- someDirB
  - somefolder
  - folderTwo
    - somefile.txt
    - someotherfile.txt
Run Code Online (Sandbox Code Playgroud)

我只想将 someDirA 的 folderTwo(文件夹及其所有内容)复制到 someDirB 中。两个目录都在不同的路径中。

linux shell cp

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

在退出终端之前记录命令历史的别名/脚本?

我是新手bash和脚本。

我想写一个别名或脚本,这样每次我exit在命令行时,它都会记录我的命令历史。因为我尝试了很多新命令,而且我想回到文件中并对其进行评论,这样我可以更好地学习,而不仅仅是尝试命令然后完全忘记它们。

alias exit ="history > `date +%Y-%m-%d`.txt; exit"
Run Code Online (Sandbox Code Playgroud)

但是当我重新加载我的 bash 时,我得到:

-bash: alias: exit: not found
-bash: alias: =history > 2015-09-22.txt; exit: not found
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?我应该尝试编写一个带有 while 循环的脚本吗?

linux script bash shell command-line

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