今天同事在执行一个脚本 (SHELL 环境 /usr/bin/ksh )
./script_name param1 param2
始终报错 , 执行时,参数值不对
在脚本中头部加上 echo $1 的值测试 ,居然不是 param1 。。。。
直接在当前shell 环境下 echo $1 ,,, 居然就是脚本中 echo $1 的值 但不是我们传入的参数值。。。
后来找了一个小时,,原来在用户的 .profile 中 用了 set 来设置环境变量 (windows 用多了)
========================== 具体代码事例如下=================================
[kimi@oc0077830473 ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
set aa=123
[kimi@oc0077830473 ~]$
[kimi@oc0077830473 test]$ cat test3.sh
#!/bin/bash
. $HOME/.bash_profile ## 主要就是该行代码导致
echo $1
echo $2
[kimi@oc0077830473 test]$
## 执行该脚本
[kimi@oc0077830473 test]$ ./test3.sh aa bb
aa=123
[kimi@oc0077830473 test]$
阅读(1358) | 评论(0) | 转发(0) |