小编ica*_*rus的帖子

将文件内容作为参数传递给 bash 脚本

在 bash 脚本中,我想执行以下操作:

script.sh < some_file
Run Code Online (Sandbox Code Playgroud)

some_file是一个有 1 行的文件,我想将它作为参数传递给我的 bash script.sh。我怎样才能做到这一点?

bash shell-script

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

如何恢复 Bash 提示?

对于我刚刚source .profile从其他用户那里完成的工作,但它改变了我的 bash 提示。

它曾经是

[leche@xxx home]$
[leche@xxx home]$
Run Code Online (Sandbox Code Playgroud)

现在它看起来像:

[leche@xxx] [10:18 AM$] /home $
 $
 [leche@xxx] [10:18 AM$] /home $
 $
Run Code Online (Sandbox Code Playgroud)

我怎样才能把它改回来?

profile

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

从 Ubuntu 中的命名管道一次读取 n 行

我正在 Ubuntu 中尝试命名管道,并且之前没有使用它们的经验。我做了以下事情:

mkfifo pipe
ls>pipe&
cat pipe
Run Code Online (Sandbox Code Playgroud)

这将输入我的文件夹中所有文件的列表pipe并显示它们。我正在尝试一次读取管道 2 行。因此,我想要一个命令在执行一次时给出文件夹中第一个和第二个文件的名称。如果再次执行该命令,我需要第三个和第四个文件名。有什么办法可以做到吗?

我试过head -2 pipe。它显示前两个文件名。但再次执行时,却挂了。正确的前进方向是什么?

fifo

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

在搜索占用最多空间的目录时如何排除目录?

我正在使用 Ubuntu 14.04。我想弄清楚哪些目录占用了最多的空间,所以我正在运行这个命令

sudo du -a / | sort -n -r | head -n 100
Run Code Online (Sandbox Code Playgroud)

问题是,大多数返回的目录属于一个单独的分区,

1048580 /mnt/volume-nyc1-01/postgresql/9.5/main/base/16419/57411.6
Run Code Online (Sandbox Code Playgroud)

如何/mnt/volume-nyc1-01/从我的列表中排除分区?

ls directory disk-usage rm

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

请解释 exec、trap、mknod、tee 的作用

我有一个从其中一个网站获得的脚本。当我运行它时,它给出了“Hello”作为输出,但我无法理解脚本的工作原理。

谁能解释一下脚本实际上在做什么?

#!/bin/bash

echo hello

if test -t 1; then
  # Stdout is a terminal.
  exec >log
else
  # Stdout is not a terminal.
  npipe=/tmp/$$.tmp
  trap "rm -f $npipe" EXIT
  mknod $npipe p
  tee <$npipe log &
  exec 1>&-
  exec 1>$npipe
fi

echo goodbye
Run Code Online (Sandbox Code Playgroud)

bash io-redirection shell-script

-7
推荐指数
1
解决办法
353
查看次数

标签 统计

bash ×2

shell-script ×2

directory ×1

disk-usage ×1

fifo ×1

io-redirection ×1

ls ×1

profile ×1

rm ×1