gpt4 book ai didi

linux - 在 unix 远程服务器中执行参数文件

转载 作者:太空宇宙 更新时间:2023-11-04 10:47:16 25 4
gpt4 key购买 nike

我正在尝试使用 ssh 远程运行脚本,并且需要使用来自远程服务器的一些参数。将所有参数保存在远程服务器位置 temp/test/test.prm 文件中。收到错误提示“invoke.sh: line 20: ./temp/test/test.prm: No such file or directory”

请参阅下面的示例脚本。具有非常基本的脚本知识,所以请指导我

#!/bin/sh
Param1=$1
Param2=$2

ssh usr@Server1

. ${Param1}/Client/scripts/Sample1.prm

cd $prmHome/$prmSetPath

ls | sed '/\.log$/d' > $prmHome/$prmScript/Filelist.txt

cd $prmHome/$prmScript

while read LINE

do

ExportFilName=$LINE

./conversion.sh $prmHome/tmp_export/convert_$Param2.csv $prmHome/$prmSetPath/'$ExportFilName'

done < Filelist.txt


rm -rf $prmHome/$prmScript/Filelist.txt

exit 0



Content of Sample1.prm
prmHome=/iis/home
prmSetPath=/export/set
PrmScript=/Client/scripts

在使用 ssh 连接到远程服务器后,我尝试了相同的命令行,它正在工作,但是当我尝试通过脚本 (invoke.sh) 执行相同操作时,它抛出没有这样的文件或目录错误

最佳答案

更新

这不清楚,不会起作用!

ssh usr@Server1
. ${Param1}/Client/scripts/Sample1.prm

如前所述,您应该使用

ssh usr@Server1 ". ${Param1}/Client/scripts/Sample1.prm" 

先格式化

其次,您希望以下命令做什么?

。 ${Param1}/Client/scripts/Sample1.prm

注意 . 和路径之间有一个空格,它是 source 的同义词。因此还要检查 Sample1.prm 是否有有效的命令。


看起来您没有在远程主机上运行任何 ssh shell 命令,而只是在您的本地主机上运行。

您究竟是如何运行 ssh shell 命令的?

您示例中的代码片段格式不正确。一般结构应该是这样的,例如

  • ssh user1@server1 日期

  • ssh user1@server1 'df -H'

请修改您的调用脚本,或使问题中的格式合适。

关于linux - 在 unix 远程服务器中执行参数文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32629087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com