sh

在内联 shell 脚本中使用 read -r
sh

在内联 shell 脚本中使用 read -r

我有一个文件,其中包含多个文件的绝对路径列表。我需要将文件中列出的所有文件移动到另一个目录。不幸的是,我必须使用内联 shell 脚本(即 sh -c)来执行此操作,并且我无法控制脚本引号之外的文本(我正在使用将命令作为内联 shell 脚本传递给操作系统的软件)。 当使用内联脚本时,以下命令中的 $file 计算结果为空字符串。 sh -c "while IFS= read -r file; do mv $file /target_dir; done < /source_dir/list_of_files.txt" 但如果我在终端中输入命令,一切都正...

Admin

如何创建异常数量的子目录?
sh

如何创建异常数量的子目录?

我想创建 1000x1000x1000x1000x1000 等目录,但是像mkdir -p {1..1000}/{1..1000}/{1..1000}/{1..1000}但是很多论点错误或者只是无限地消耗我的 RAM...我该如何正确地做? ...

Admin

Bash 脚本与命令行
sh

Bash 脚本与命令行

我已经开始研究 bash 脚本。我刚刚发现执行命令行和在脚本中执行相同命令之间存在差异。特别是命令行是: for a in {2..10..2};do echo "My number is:$a";done 其产生以下预期的输出: My number is:2 My number is:4 My number is:6 My number is:8 My number is:10 另一方面,脚本test.sh如下: #!/bin/sh ...

Admin

如何使用 xargs 将参数作为 $1、$2、$3 等传递给使用 sh -c 调用的内联脚本?
sh

如何使用 xargs 将参数作为 $1、$2、$3 等传递给使用 sh -c 调用的内联脚本?

我想将标记 abc 作为脚本的参数传递,该脚本将输出 a - b - c。如果我有一个脚本和一个包含dummy.sh以下内容的文件:echo "$1 - $2 - $3"dummy.dat a b c d e f 我想输出 a - b - c d - e - f 我可以做类似的事情: cat dummy.dat | xargs -Iline sh -c "sh dummy.sh line" cat dummy.dat | xargs -n3 sh dummy.sh 但是如果我不想要单行脚本,我只能使用吗,sh -c "echo $1 - $2 - $3...

Admin

我没有使用服务截取屏幕截图
sh

我没有使用服务截取屏幕截图

我正在使用 shell 脚本,我想在系统启动时自动运行该脚本开启/重启无需打开任何应用程序。 这是我的script.sh文件: while sleep 5 do scrot 'myimage.png' -e 'mv $f ~/Desktop/' done 测试.service文件: [Unit] Description=My Shell Script [Service] ExecStart=/home/chirag/tracker-ror/script.sh [Install] WantedBy=multi-user.target &...

Admin

如何使用 git pull 与 Jenkins sh 步骤?
sh

如何使用 git pull 与 Jenkins sh 步骤?

git pull由于某种原因,无法与 Jenkins 配合使用。我更新了本地 PC 上的一些文件并将其推送到 Github。我可以在那里看到更改。然后我运行 Jenkins build,其中包含从此存储库中提取的 sh 命令,它显示“已更新”。这是错误的,因为我显然将新版本推送到了 Github,如果我去那里并在浏览器中打开文件,我可以看到更改。这只发生在 Jenkins 运行 git pull 时,因为如果我连接到我的虚拟机并git pull自行运行,它会正常工作并更新我的文件。为什么会发生这种情况? 我的詹金斯文件: pipeline{ agent ...

Admin

MSYS2-更改为 /bin/sh
sh

MSYS2-更改为 /bin/sh

如何在 MSYS2 中将默认 shell 从 bash 切换到 sh?即使只是尝试做一些简单的事情,例如pacman -S sh尝试安装 bash。 ...

Admin

/bin/sh 符号链接到 bash,但是完全不同?
sh

/bin/sh 符号链接到 bash,但是完全不同?

如果我这样做ls -l /bin/sh:我得到 lrwxrwxrwx 1 root root 4 Jan 9 00:01 /bin/sh -> bash 但是,当我启动时sh,我得到了一个完全不同的提示,我的~/.bashrc没有来源,如果我手动来源它,我得到一堆语法错误。 怎么回事?我猜这是某种兼容模式吧? 编辑: 运行 Endeavour OS(基于 arch) echo $PATH给出: /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_per...

Admin

通过电子邮件发送 FreeBSD 脚本输出丢失格式(在一行中左对齐和右对齐)
sh

通过电子邮件发送 FreeBSD 脚本输出丢失格式(在一行中左对齐和右对齐)

我每天都会在路由器上运行一个脚本来检查特定服务器的流量使用情况。该脚本运行良好,使用脚本的此输出部分,我得到以下结果: #Give output printf "Traffic Report for all Servers"; printf "%10s\n" echo -e "" printf "## Traffic Server 1 ##"; printf "%10s\n" echo "--------------------------------------" printf "Traffic User1 :"; printf "%15s\n" "120...

Admin

如何将隐藏文件名复制到unix中的文本文件?
sh

如何将隐藏文件名复制到unix中的文本文件?

我有几个目录包含隐藏的空文件。我需要这些文件名本身的名称,所以我需要将文件名写入 txt 文件。我的脚本如下所示: cd /z/all_vendors/ x=`find vendors -perm 755` for FILE in $x; do ls -a $FILE >> locator.txt done 但是我得到了permission denied error 如何将这些隐藏文件名写入目录? 编辑供应商目录有以下子目录 vendors/ |__000123 |__000204 |__000404 因此x=`fin...

Admin

Windows:使用环境变量启动.sh
sh

Windows:使用环境变量启动.sh

我正在尝试视窗从我的计算机的任何位置启动我的服务器(启动服务器)。 手动启动包含这些行的文件可以正常工作(使用Git命令)(可能不是最好的,我当然愿意接受任何建议) cd /c/myservervagrant echo "Vagrant start"; vagrant up 但我想从任何地方访问这个文件,并通过使用类似的东西来启动它 启动服务器 我想这样做是为了避免返回到计算机的根文件夹,然后进入文件夹内部、文件夹内部、文件夹内部等等...... 编辑:忘了提一下,我只能访问我的帐户环境变量,系统变量被我的公司锁定 ...

Admin

从字符串创建多个符号链接
sh

从字符串创建多个符号链接

我有以下脚本: #!/bin/bash test="../t1,../t2,../t3" ln -sf "{${test}}" . 该目录上面包含3个目录: ../ ├── script │   └── test.sh ├── t1 ├── t2 └── t3 我的代码遇到的问题是它创建了一个符号链接: t3} -> {../t1,../t2,../t3} 我期望看到的是: t1 -> ../t1 t2 -> ../t2 t3 -> ../t3 我认为问题在于我如何避开外部集{,}但我似乎无法让它发挥作...

Admin

为什么 sudo 能够在 fakeroot 中运行?
sh

为什么 sudo 能够在 fakeroot 中运行?

请看以下代码片段: fakeroot -- sudo cat /etc/shadow 这将打印出的内容/etc/shadow,但是在 fakeroot 中运行 sudo 不会破坏它的整个目的吗,还是我遗漏了什么? ...

Admin

Rsync 创建空文件夹
sh

Rsync 创建空文件夹

我有以下目录。我的目标是比较OLDvsNEW目录并保存目录中的不同文件DEST: OLD/ ...src/ ...src/config.js ...test/ ...test/main.js NEW/ ...src/ ...src/config.js ...test/ ...test/main.js //Modified DEST/ //Empty 现在为了进行测试,我修改了 new 中的 test/main.js。现在当我运行: rsync -rvcim --delete --compare-dest=../NEW/ OLD/ DEST/ ...

Admin