跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请教一个screen相关的命令
未分類
1 3 月 2020

请教一个screen相关的命令

nisekoi 大佬有话说 :

请教一个screen相关的命令

本帖最后由 nisekoi 于 2020-3-1 09:25 编辑

我是要在crontab里面定时执行的某个文件。但是因为要先进入某个目录在执行不然那个程序就会读取不到他同目录下的文件。于是加了个cd命令发现也不行。
然后写了个简易版的出来打印路径。发现出现这种现象。
root@instance-71crq4rf:~/logs# cat start.sh
#!/bin/sh
screen -dmS test/bin/bash -c "echo $PWD >> 1.log && cd /root/logs/ && echo $PWD >> 2.log"

这个脚本目录在/root/logs/ 如果在/root/logs/执行这个脚本,会在/root/logs目录正常生成2个log文件,内容都是相同的/root/logs,但是我会在root目录执行这个脚本。它可以正常的在root目录生成一个1.log,内容是/root,也会进入logs目录生成一个2.log。但是内容也是/root ???

luceos 大佬有话说 :

screen -dmS testbash -c "echo $PWD >> 1.log 第一条就进入screen了,可能进入screen后就接收不到后面的命令

beng 大佬有话说 :

>>后面不能直接跟绝对路径吗 >> /root/logs/2.log

nisekoi 大佬有话说 :

beng 大佬有话说 : 2020-3-1 09:13
>>后面不能直接跟绝对路径吗 >> /root/logs/2.log

这是个简易版,真正要运行的程序用绝对路径确实可以执行。但是他会把你执行脚本的路径认为是根目录,于是读取不到任何配置文件。

nisekoi 大佬有话说 :

luceos 大佬有话说 : 2020-3-1 09:13
screen -dmS testbash -c "echo $PWD >> 1.log 第一条就进入screen了,可能进入screen后就接收不到后面的 …

如果在logs目录下执行就能接受到后面echo >> 2.log这是什么原理

带佬 大佬有话说 :

应该是传参的单双引号的问题吧,你改成单引号试试

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具