小编Ejj*_*esh的帖子

查找与特定模式匹配的文件并将该文件名作为值赋予 shell 脚本中的变量?

我正在寻找一种方法来获取分配给我的 shell 脚本中的变量的文件名。但是我的文件的命名格式为file-1.2.0-SNAPSHOT.txt

这里的数字有时可能会改变,现在我如何将此文件名分配给变量。可以使用任何正则表达式吗?或grep?或找到?或文件

我的目录由以下文件组成:

file-1.2.0-SNAPSHOT.txt
newFile-1.0.0.txt
sample.txt
Run Code Online (Sandbox Code Playgroud)

我的脚本sc.sh

file_path="/home/user/handsOn"
var=$file_path/file-1.2.0-SNAPSHOT.txt
newLocation=/new_path
cp $var $newLocation
Run Code Online (Sandbox Code Playgroud)

现在文件版本有时会更改。我的脚本应该适用于任何版本号。

如何将匹配的文件名分配给变量?帮帮我。TIA

linux bash shell-script

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

记录 ssh shell 的输出并保留退出状态

我有一些脚本要server-2通过 ssh from在远程服务器()上执行server-1,我必须将该输出写入名为file.logon的日志文件中server-1

我正在尝试这个: sc.sh

echo 'testing'
cp $HOME/dir1/file1 $HOME/dir2
Run Code Online (Sandbox Code Playgroud)

现在,sc.sh通过 ssh执行:

sshpass -p 'psswd' ssh username@server-2 "bash -s" < sc.sh | tee -a file.log
if [ $? -eq 0]; then
  echo "successfully executed the script file"
  .
  .
  .
else
  echo "failed copying due to incorrect path"
fi
Run Code Online (Sandbox Code Playgroud)

现在由于tee -a file.log命令,即使我在脚本文件中的命令失败,它也将始终返回 0。如何写入日志文件,并应ssh根据ssh命令退出代码检查应在命令后工作的 if 条件?

bash pipe shell-script exit-status

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

标签 统计

bash ×2

shell-script ×2

exit-status ×1

linux ×1

pipe ×1