1. 在linux 下执行shell文件提示:No such file or directory,但这个路径明明是存在的,为啥呢求指教
这个问题应该出在find命令上,在脚本中你的路径“~/jre/log1”被保存在一个变量中$logPath
在脚内本中:find$logPath-ctime+7这条命令容,find把“~”当成普通字符,而不会解析为对应的home目录。
在命令行(shell环境下)环境下:为什么cd ~/jre/log1成功,是因为shell帮你解析“~”为对应的home目录了。
所以如果在脚本中使用find命令,且用“~”表示要使用当前用户home目录,可以结合eval命令使用:
#!/bin/bash
logpath=$(cat/tmp/test.txt)获取带有~的路径
find$(evalecho$logpath)-name"*.txt"使用eval计算表达式结果
2. linux下执行脚本提示找不到该目录
找不到该目录?仔细看看你的路径对吗?要运行脚本需要指定该脚本的具回体的路径,答或者是进入到该脚本的目录中,再执行。这很容易理解。打个比方,要做饭了,你不是要先回家,进厨房,才能开火做饭?你的家,你的厨房就是目录。总不能说还在公交车上呢,就开始煎炒烹炸的烧菜煮饭吧?
3. LINUX下运行 启动的脚本文件出错!!
以上命令是分两部复分的:制
1.先在终端上输入:cd/opt/rescue-competition2010/boot (进入这个路径目录下)
2.在终端上输入:./start.sh (执行当前目录下的start.sh文件 )
4. linux上写了脚本,不能执行!求解答!
你的脚本是在普通用户下编写、设置权限的?
/opt下的东西都需要root权限才能修改、mount也需要root权限。
如果不是必须运行在非root用户下的话,建议试试用root账户执行。
5. linux脚本.sh,使用全路径无法正常运行的原因
#!/bin/bash
#*****你的错误再这里,取出的进程号都有两个****运行脚本已经给出提示
#pid,进程id,processidentity
pid=`pidof-s<tomcat进程完整进程显示的名称,如果有路径带着路径>`
kill-9$pid
#原文写的1秒,你觉得合理吗?真能完成?
sleep30
/usr/local/apache-tomvat-7.0.55/bin/startup.sh
#原文写的1秒钟你觉得tomcat能启动起来吗?
sleep15
ps-ef|greptomcat
sleep5
exit0
我猜这个程序中启动那个文件的时候就直接写的文件名,没有写路径。
所以启动那个文件的时候,就默认使用了当前路径(非程序路径),所以找不到。
应该是你程序的问题
7. Linux开机启动文件rc.local无法执行怎么办
第一种情况:当centOS随机启动文件 /etc/rc.local失效时请按如下修改:
1、echo /etc/rc.local >>/etc/profile && source /etc/profile注:当执行生效会看到效果(/etc/profile文件在每个用户登录时会首先检查并执行)
2、reboot注:重新启动检测是否生效
第二种情况:echo /etc/rc.local >>~/.bash_profile && source /etc/profile。
第三种情况:在 /etc/init.d 目录下增加对应程序启动脚本,然后重启测试,内容如下:chkconfig --add 脚本名(将该脚本注册到系统服务,此时直接输入脚本可以直接运行)。
chkconfig 脚本名 on(将该服务加入随系统开机启动),添加自启动,必须在脚本里面加入chkconfig 启动顺序,才能加入进去。
/etc/rc.local 中部分命令无法执行。
在linux系统中添加随系统启动而自动运行的服务,只需在/etc/rc.local 脚本文件中添加即可,当运行的命令或程序不带路径时,例如:
#!/bin/bash
distccd --user nobody --allow 10.10.98.0/24 --log-file=/var/log/distcc.log --verbose --daemonloadavg -s 10.10.98.20 >/dev/null 2>&1
注意,distccd、loadavg命令存放在/usr/local/bin/目录下
在系统执行这些命令时将报错,无法正常执行!
由于在执行rc.local脚本时,PATH环境变量未全部初始化,目录/usr/local/bin/ 需在执行/etc/profile 后才被添加到环境变量PATH中。
解决方法:在 /etc/rc.local 执行 /usr/local/bin/ 目录中的命令需要使用绝对路径。