今天写了一个shell脚本,双击却不能执行,然后换成*.out 也不行。
仔细研究发现:其实他们都执行了,怎么知道它们都执行了呢?我让它们像一个文件中写入数据。
但是为什么没有我们想要的运行结果呢?这取决于程序的功能,如果在程序里面用到了目录操作,就有可能会出错了,
我的shell脚本放在/home/jim/lex_yacc/
在脚本中加入这样一行"pwd > log.txt"
结果log.txt中的内容却为/home/jim
如果是root用户登陆的话log.txt中的内容则是/root
这说明 它们的 执行目录并不是 脚本(应用程序)所在的目录,
所以脚本或是程序中一定要指明具体的目录而不能用 " ./ ../ " 之类
如果使用同一个目录多次,就可以定义一个变量,在这里
MYPATH=~/lex_yacc
mkdir $MYPATH/mydir
这样就行了