标签: bash

意外递归 cp -R,现在无法使用 Trash 或 rm 删除文件

使用时在路径中输入错误后cp,我似乎不小心将文件夹递归复制到自身中,现在我无法使用rm -rf或 Mac OS X 中的垃圾箱删除该文件夹Finder。该文件位于启动(因此为 HFS+J)磁盘上。

的输出rm -rf只是Directory not empty重复,如下所示:

rm: o/old/old/old/old/old/old/old/old: Directory not empty
rm: o/old/old/old/old/old/old/old: Directory not empty
rm: o/old/old/old/old/old/old: Directory not empty
rm: o/old/old/old/old/old: Directory not empty
rm: o/old/old/old/old: Directory not empty
rm: o/old/old/old: Directory not empty
rm: o/old/old: Directory not empty
rm: o/old: Directory not empty
rm: o: Directory not empty
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能删除这个文件夹?

如您所见,我尝试重命名第一个文件夹以缩短文件路径。该文件夹移入Trash罚款,但由于以下警报对话框而不会删除:

The operation can’t be completed because the item is in …
Run Code Online (Sandbox Code Playgroud)

unix bash macos

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

Bash 中的 $(...) 和 `...` 有什么区别

我用 `...` 得到了预期的结果,但用 $(...) 失败了

kill $(ps ux | grep S..\.tcl | grep -v grep | awk '{print $2}')

Illegal variable name.

kill `ps ux | grep S..\.tcl | grep -v grep | awk '{print $2}'`

(kill expected processes)
Run Code Online (Sandbox Code Playgroud)

通过谷歌搜索,我发现有人说它们是可以互换的,但不是这个例子。那么,Bash 中的 $(...) 和 `...` 有什么区别?

bash

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

Shell脚本在命令行中使用选项传递多个参数

我有脚本,我需要像这样执行这个脚本:

./create_endpoint.sh --controller-ip 10.20.20.1 --controller-name User1.
Run Code Online (Sandbox Code Playgroud)

但它的执行是这样的:

./create_endpoint.sh 10.20.20.1 User1
Run Code Online (Sandbox Code Playgroud)

剧本:

CONTROLLER_IP=""
CONTROLLER_NAME=""
if [ "$#" -eq 2 ]
  then
    CONTROLLER_IP=$1
    CONTROLLER_NAME=$2
  else
    echo "Usage : create_endpoint.sh --controller-ip <Controller IP> --controller-name"
    exit 1  
fi
echo $CONTROLLER_IP
echo $CONTROLLER_NAME
Run Code Online (Sandbox Code Playgroud)

linux bash shell command-line

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

如何在 ConsoleZ 上的选项卡内为 windows shell 打开 git

我在 ConsoleZ 上使用了来自https://git-scm.com/download/win(该 URL 开始下载)的git bash 1.9.5作为 shell,并且在选项卡中打开他没有问题。

但是,对于 windows 2.4.5.1 RC4 的新 Git,它总是在新窗口中打开。用作 shell 并在选项卡内打开的命令行选项是什么?

我还没有找到关于 git-bash.exe 命令行选项的文档或信息。

windows-7 bash shell git console2

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

在 Linux 中删除特定文件时如何获得通知?

我正在寻找一种方法来监视文件并在文件被删除后立即触发事件。一旦它被删除,我将替换/复制一个新文件并再次启动监视器。

例如

watch "/tmp/fileToMonitor.txt"

// file deleted by some process
cp new_file "/tmp/fileToMonitor.tx"

// watch file again (repeat same steps..)
Run Code Online (Sandbox Code Playgroud)

我怎样才能用 bash 脚本做到这一点?这可能吗?

linux bash shell-script

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

linux - 用空格替换所有双换行符

是否可以使用 sed、awk、grep、tr 或任何需要的东西只替换文本文件中的双换行符?

this

is

data
this

is

more

data
Run Code Online (Sandbox Code Playgroud)

我需要做的是用空格替换所有双换行符(\n\n,没有空格),但保留所有单换行符,以使我的所有数据点都在自己的行上。

this is data
this is more data
Run Code Online (Sandbox Code Playgroud)

这可能吗?

linux bash awk sed

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

尝试在当天消息(MOTD)中打印用户名

我正在测试一个简单的脚本,该脚本向登录服务器的用户打印欢迎消息。

剧本:

#!/bin/sh
_user=$(whoami)
_hostname=$(hostname)
_currdate=$(date)

echo "#===================================================#"
echo "          Welcome $_user to $_hostname server"
echo "          Curr. time: $_currdate"
echo "          Have a nice day!"
echo " "
echo  "#==================================================#"
Run Code Online (Sandbox Code Playgroud)

我将脚本保存在/etc/update-motd.d/,以便在用户登录后显示该消息。问题是var_user总是显示为“ root ”,我找不到从用户那里获取用户名的方法。我正在通过 SSH 进行测试。

有人可以帮助我吗?谢谢!:)

linux ssh bash ubuntu

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

检查文件夹中是否有空文件

我有一个脚本,每次从 FTP 服务器下载 17 个文件,但有时由于某些原因,某些文件的权重为“0”。

所以我正在寻找一个 bash 脚本来检查是否有大小为零的文件。

我怎么能这样做?

编辑:我想使用 if-else 语句:如果有任何 0 字节文件,我将不得不再次运行 bash 脚本。

script bash

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

如何查找大小范围内的文件?

请建议我使用命令查找大小zip大于60 MB但小于70 MB大小的所有文件的方法find

linux bash grep awk find

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

在这些情况下,如何使用 cp 在 Linux 中复制目录?

情况一

我如何复制/home/src/somedir/dest/使得路径总是以 结束/dest/somedir,而不管是否/dest/somedir已经存在?

我想避免以/dest/somedir/somedir.

情况二

如何复制里面的一切/home/src/somedir,以/dest/这样/dest/somedir不创建,如果它已经存在被忽略?


是否有关于我可以使用的尾部斜杠的规则?我认为以斜杠结尾意味着总是只复制内容,但对我来说它仍然经常出错。

linux bash cp

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

标签 统计

bash ×10

linux ×6

awk ×2

shell ×2

command-line ×1

console2 ×1

cp ×1

find ×1

git ×1

grep ×1

macos ×1

script ×1

sed ×1

shell-script ×1

ssh ×1

ubuntu ×1

unix ×1

windows-7 ×1