我正在编写一个Shell脚本,该脚本应将应用程序输出从控制台重定向到文件。 如果我写以下内容-
./ledToolz 2>&1 | grep 'Found' > panelVersion.txt
在控制台中一切都很好。 如果我从脚本执行此操作,则不会发生任何事情
答案 0 :(得分:0)
如果要在控制台和文件中同时显示stderr和输出,请使用以下命令:
./ledToolz 2>&1 | grep 'Found' | tee panelVersion.txt
@GendOS, 如果您尝试在远程计算机上运行脚本,则可以这样做:
USER="Your username"
PASSWD="Your password"
HOST="Your remote hostname"
SCRIPT_PATH="Path to your script"
sshpass -p $PASSWD ssh -l $USER $HOST 'bash -s' < $SCRIPT_PATH
另一种选择是先将文件复制到远程计算机,然后执行它,并在完成后在远程计算机上删除脚本。看起来像这样:
USER="Your username"
PASSWD="Your password"
HOST="Your remote hostname"
SCRIPT_PATH="Path to your script"
sshpass -p $PASSWD scp $SCRIPT_PATH $USER@$HOST:/tmp/script.sh
sshpass -p $PASSWD ssh $USER@$HOST /tmp/script.sh arg1 ar2 arg3
sshpass -p $PASSWD ssh $USER@$HOST rm /tmp/script.sh