使用时在路径中输入错误后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) 我用 `...` 得到了预期的结果,但用 $(...) 失败了
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 中的 $(...) 和 `...` 有什么区别?
我有脚本,我需要像这样执行这个脚本:
./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) 我在 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 命令行选项的文档或信息。
我正在寻找一种方法来监视文件并在文件被删除后立即触发事件。一旦它被删除,我将替换/复制一个新文件并再次启动监视器。
例如
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 脚本做到这一点?这可能吗?
是否可以使用 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)
这可能吗?
我正在测试一个简单的脚本,该脚本向登录服务器的用户打印欢迎消息。
剧本:
#!/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 进行测试。
有人可以帮助我吗?谢谢!:)
我有一个脚本,每次从 FTP 服务器下载 17 个文件,但有时由于某些原因,某些文件的权重为“0”。
所以我正在寻找一个 bash 脚本来检查是否有大小为零的文件。
我怎么能这样做?
编辑:我想使用 if-else 语句:如果有任何 0 字节文件,我将不得不再次运行 bash 脚本。
请建议我使用命令查找大小zip大于60 MB但小于70 MB大小的所有文件的方法find。
我如何复制/home/src/somedir到/dest/使得路径总是以 结束/dest/somedir,而不管是否/dest/somedir已经存在?
我想避免以/dest/somedir/somedir.
如何复制里面的一切/home/src/somedir,以/dest/这样/dest/somedir不创建,如果它已经存在被忽略?
是否有关于我可以使用的尾部斜杠的规则?我认为以斜杠结尾意味着总是只复制内容,但对我来说它仍然经常出错。