标签: slash

如何从定义时间测试输出的目录的变量中删除尾部斜杠

Ubuntu 16.04

即使 for 的输出client in */; do不会产生尾部斜杠,如果我在循环内对文件执行时间测试时回显变量 $client ,则会出现尾部斜杠。

cd "$wDir"
for client in */; do
   cd "$wDir"/"$client";

   #-- check to see if any .csv files exists
   if ls *.csv &>/dev/null; then
      for csvfile in *.csv; do
         if test $(find "$csvfile" -mmin +2880); then
            echo "$client has files older than 2 days ..." >> "staleFtpAccts"
         fi
      done
   fi
done
Run Code Online (Sandbox Code Playgroud)

当我执行脚本时,一个 / 被放置在 $client 变量之后,如下所示:

root@me /home/frank # bash script.sh
Start ...
000029_000020/ has files older than 2 …
Run Code Online (Sandbox Code Playgroud)

bash slash delete

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

在目录路径末尾包含 / 和省略它之间的区别

我只是想知道当我离开 / 在文件路径的末尾时会发生什么不同,例如:

root /var/www/website.com/
Run Code Online (Sandbox Code Playgroud)

并省略它,如:

root /var/www/website.com
Run Code Online (Sandbox Code Playgroud)

这是如何处理的或者有什么区别?

directory slash path

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

为什么我这里有双斜线?

$ which mycommand
/home/t/program_files/document/other edits//mycommand
Run Code Online (Sandbox Code Playgroud)

为什么我//这里有双斜线?

shell bash slash filenames which

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

以斜杠结尾的目录名和不以斜杠结尾的目录名有什么区别?

目录名称之间是否有任何区别,例如

mydirectory
Run Code Online (Sandbox Code Playgroud)

mydirectory/
Run Code Online (Sandbox Code Playgroud)

我注意到当我ls在某些目录中执行时会发生这种情况- 有些目录名称有斜杠,有些没有。这是有问题的,因为如果我想访问目录中包含的文件,我可能需要在末尾添加一个斜杠:

vi $mydirectory"/"$myfile
Run Code Online (Sandbox Code Playgroud)

或者干脆做

vi $mydirectory$myfile
Run Code Online (Sandbox Code Playgroud)

slash filenames files

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

获取 `scp path/` 行为类似于 `rsync path/`

我有本地文件结构:

/tmp/24
    /dir1
        /file1
        /file2
    /dir2
        /file3
        /file4
Run Code Online (Sandbox Code Playgroud)

我想将它上传到远程计算。当我使用

rsync /tmp/24 host:/target
Run Code Online (Sandbox Code Playgroud)

target在远程主机 ( /target/24/dir1/file1, ...)上的目录中创建它。但是当我像这样使用它时

rsync /tmp/24/ host:/target
Run Code Online (Sandbox Code Playgroud)

但我想要做什么,那就是这样的创建它们:/target/dir1/file1。但是,scp如果目标文件夹已经存在,则做第一件事,第二件事是不考虑路径是否以结尾/。我怎样才能强制scp表现得像rsync第二个例子?

scp directory slash

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

find 没有将多个斜杠合并为一个的任何原因?

是否真的find不应该进行最简单的路径统一/简化操作,例如将多个连续的斜杠合并在一起(相当于原始形式)?

例如输出find .///是:

.///
.///somefile
[…]
Run Code Online (Sandbox Code Playgroud)

(测试find来自 GNU 和busybox

如果是这样,那是为什么?有没有我遗漏的合理用例?也许对于有人正在搜索find内部脚本的输出的情况?

顺便说一句,同样有趣的是 GNU 的 find for find ./// -maxdepth 0 -printf '%h\n'(的输出%h应该是“文件名的前导目录(除了最后一个元素和它之前的斜杠之外的所有目录)”):(.//只是少了一个/

slash standard find compatibility filenames

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

标签 统计

slash ×6

filenames ×3

bash ×2

directory ×2

compatibility ×1

delete ×1

files ×1

find ×1

path ×1

scp ×1

shell ×1

standard ×1

which ×1