.sh文件执行路径问题

aabbabababaa 2018-07-13 11:51:22
加精
.sh文件用相对路径
./test.sh
可以正常执行出结果
但换成绝对路径
/data/test/test.sh
执行,就没效果的?
...全文
4250 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
cim886 2020-07-04
  • 打赏
  • 举报
回复
学习学习!!!!!!!!!
gaoshanlan 2019-01-15
  • 打赏
  • 举报
回复
执行路径不正确, 肯定是不行的
gaoshanlan 2019-01-15
  • 打赏
  • 举报
回复
我正遇到此问题, 感谢您的分享
qq_43048337 2018-08-23
  • 打赏
  • 举报
回复
存在限权问题,加个su
aabbabababaa 2018-07-19
  • 打赏
  • 举报
回复
引用 33 楼 Liqinghai058 的回复:
[quote=引用 32 楼 ojc8882003 的回复:]
解决了,是脚本问题 改为$number -le 2

那就好,结贴吧[/quote]

恩,结了
李庆海 2018-07-19
  • 打赏
  • 举报
回复
引用 32 楼 ojc8882003 的回复:
解决了,是脚本问题 改为$number -le 2

那就好,结贴吧
aabbabababaa 2018-07-19
  • 打赏
  • 举报
回复
解决了,是脚本问题 改为$number -le 2
李庆海 2018-07-18
  • 打赏
  • 举报
回复
引用 30 楼 weixin_42625567 的回复:
[quote=引用 1 楼 Liqinghai058 的回复:]
你好,在执行绝对路径的时候前面要加sh,例如:sh /data/test/test.sh


正解[/quote]
楼主的脚本是没有问题的,执行方式也是没有问题的,就是不知道是不是程序的问题了。
weixin_42625567 2018-07-18
  • 打赏
  • 举报
回复
引用 1 楼 Liqinghai058 的回复:
你好,在执行绝对路径的时候前面要加sh,例如:sh /data/test/test.sh


正解
aabbabababaa 2018-07-18
  • 打赏
  • 举报
回复
引用 27 楼 Liqinghai058 的回复:
[quote=引用 26 楼 ojc8882003 的回复:]
[quote=引用 25 楼 Liqinghai058 的回复:]
[quote=引用 23 楼 ojc8882003 的回复:]
[quote=引用 21 楼 Liqinghai058 的回复:]
[quote=引用 20 楼 ojc8882003 的回复:]
[quote=引用 17 楼 Liqinghai058 的回复:]
我修改后的脚本,绝对路径或相对路径执行都是一样的


你也有aria2c进程能启动了?[/quote]
没有,我用其他进程测试的,没问题[/quote]
那就奇怪了,难道是aria问题。。。[/quote]

-----------------------------------------------------------------
如果是这样的话,就别纠结了,用python试试[/quote]

对python不太熟,要怎么用?[/quote]
参考https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000,简单学习下吧[/quote]

好的,谢谢
xiexie1357 2018-07-17
  • 打赏
  • 举报
回复
引用 19 楼 ojc8882003 的回复:
[quote=引用 18 楼 xiexie1357 的回复:]
没有效果是什么意思?没有任何输出?

有输出,但要启动的进程没有启动[/quote]
输出是什么?
最好能贴下脚本内容
李庆海 2018-07-17
  • 打赏
  • 举报
回复
引用 26 楼 ojc8882003 的回复:
[quote=引用 25 楼 Liqinghai058 的回复:]
[quote=引用 23 楼 ojc8882003 的回复:]
[quote=引用 21 楼 Liqinghai058 的回复:]
[quote=引用 20 楼 ojc8882003 的回复:]
[quote=引用 17 楼 Liqinghai058 的回复:]
我修改后的脚本,绝对路径或相对路径执行都是一样的


你也有aria2c进程能启动了?[/quote]
没有,我用其他进程测试的,没问题[/quote]
那就奇怪了,难道是aria问题。。。[/quote]

-----------------------------------------------------------------
如果是这样的话,就别纠结了,用python试试[/quote]

对python不太熟,要怎么用?[/quote]
参考https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000,简单学习下吧
aabbabababaa 2018-07-17
  • 打赏
  • 举报
回复
引用 25 楼 Liqinghai058 的回复:
[quote=引用 23 楼 ojc8882003 的回复:] [quote=引用 21 楼 Liqinghai058 的回复:] [quote=引用 20 楼 ojc8882003 的回复:] [quote=引用 17 楼 Liqinghai058 的回复:] 我修改后的脚本,绝对路径或相对路径执行都是一样的
你也有aria2c进程能启动了?[/quote] 没有,我用其他进程测试的,没问题[/quote] 那就奇怪了,难道是aria问题。。。[/quote] ----------------------------------------------------------------- 如果是这样的话,就别纠结了,用python试试[/quote] 对python不太熟,要怎么用?
李庆海 2018-07-17
  • 打赏
  • 举报
回复
引用 23 楼 ojc8882003 的回复:
[quote=引用 21 楼 Liqinghai058 的回复:]
[quote=引用 20 楼 ojc8882003 的回复:]
[quote=引用 17 楼 Liqinghai058 的回复:]
我修改后的脚本,绝对路径或相对路径执行都是一样的


你也有aria2c进程能启动了?[/quote]
没有,我用其他进程测试的,没问题[/quote]
那就奇怪了,难道是aria问题。。。[/quote]

-----------------------------------------------------------------
如果是这样的话,就别纠结了,用python试试
aabbabababaa 2018-07-17
  • 打赏
  • 举报
回复
引用 21 楼 Liqinghai058 的回复:
[quote=引用 20 楼 ojc8882003 的回复:]
[quote=引用 17 楼 Liqinghai058 的回复:]
我修改后的脚本,绝对路径或相对路径执行都是一样的


你也有aria2c进程能启动了?[/quote]
没有,我用其他进程测试的,没问题[/quote]
那就奇怪了,难道是aria问题。。。
李庆海 2018-07-16
  • 打赏
  • 举报
回复
引用 14 楼 ojc8882003 的回复:
[quote=引用 13 楼 Liqinghai058 的回复:]
[quote=引用 12 楼 ojc8882003 的回复:]
[quote=引用 10 楼 Liqinghai058 的回复:]
[quote=引用 7 楼 ojc8882003 的回复:]
[quote=引用 3 楼 Liqinghai058 的回复:]
[quote=引用 2 楼 ojc8882003 的回复:]
[quote=引用 1 楼 Liqinghai058 的回复:]
你好,在执行绝对路径的时候前面要加sh,例如:sh /data/test/test.sh

用了,还是没效果[/quote]
在脚本中执行一句echo看看哪里出了问题[/quote]
在test.sh里面最后加echo么?
用了后,执行只出一个空行呢[/quote]
在你脚本的执行语句中添加一行echo输出语句用来测试有么有执行这句[/quote]



#! /bin/sh
host_dir=`echo ~` # 当前用户根目录
proc_name="aria2" # 进程名
file_name="/data/aria2/aria2.log" # 日志文件
pid=0
proc_num() # 计算进程数
{
num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
return $num
}

proc_id() # 进程号
{
pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`
}

proc_num
number=$?

if [ $number -eq 0 ] # 判断进程是否存在
then
/usr/bin/nohup /usr/bin/aria2c -c "/data/aria2/aria2.conf" > "/data/aria2/aria2.log" 2>&1 &
proc_id # 获取新进程号
echo ${pid}, `date` >> $file_name # 将新进程号和重启时间记录
echo over
fi


放在最后了,还是没输出,放其他位置有输出的[/quote]
你的脚本开头
#!/bin/sh
多了一个空格,拿去我的试下
#!/bin/bash
host_dir=$(echo ~) # 当前用户根目
proc_name="aria2" # 进程名
file_name="/data/aria2/aria2.log" # 日志文件
pid=0
function proc_num() # 计算进程数
{
num=$(ps -ef | grep ${proc_name} | grep -v grep | wc -l)
echo "num: ${num}"
return ${num}
}

function proc_id() # 进程号
{
pid=$(ps -ef | grep $proc_name | grep -v grep | awk '{print $2}')
echo "PID: ${pid}"
}

proc_num
number=$?

if [ ${number} -eq 0 ]; then # 判断进程是否存在
/usr/bin/nohup /usr/bin/aria2c -c "/data/aria2/aria2.conf" > "/data/aria2/aria2.log" 2>&1 &
proc_id # 获取新进程号
echo ${pid}, $(date) >> ${file_name} # 将新进程号和重启时间记录
echo "over"
fi
[/quote]

不行的,只输出了num: 5[/quote]
number=$?此处一下脚本不会执行的,number=$?定义是没有意义的
李庆海 2018-07-16
  • 打赏
  • 举报
回复
引用 20 楼 ojc8882003 的回复:
[quote=引用 17 楼 Liqinghai058 的回复:]
我修改后的脚本,绝对路径或相对路径执行都是一样的


你也有aria2c进程能启动了?[/quote]
没有,我用其他进程测试的,没问题
aabbabababaa 2018-07-16
  • 打赏
  • 举报
回复
引用 17 楼 Liqinghai058 的回复:
我修改后的脚本,绝对路径或相对路径执行都是一样的
你也有aria2c进程能启动了?
aabbabababaa 2018-07-16
  • 打赏
  • 举报
回复
引用 18 楼 xiexie1357 的回复:
没有效果是什么意思?没有任何输出?
有输出,但要启动的进程没有启动
xiexie1357 2018-07-16
  • 打赏
  • 举报
回复
没有效果是什么意思?没有任何输出?
加载更多回复(16)

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧