【发布时间】:2016-09-12 08:16:06
【问题描述】:
您好,我有一个关于 bash 的问题。
我是新手。
我制作了一个名为“test.sh”的文件,其内容是
#!/bin/bash
set -x
echo $UID
echo "$UID"
echo "$(id -u)"
结果是空白!! 什么都没有显示
但是,当我在终端上键入“echo $UID”时 它显示“1011”
bash 有什么我错过的吗?
请帮忙
更新
bash版本是4.3.11,我输入“sh test.sh”来执行。
结果是
+ echo
+ echo
+ id -u
+ echo 1011
1011
谢谢!
【问题讨论】:
-
您的
bash版本是什么?如果您不知道怎么做,请输入bash --version!您是否尝试调试它?添加set -x after#!/bin/bash并运行脚本以查看会发生什么 -
至少输出两个空行吗?否则它似乎没有运行。
-
$UID是一个 Bash 变量,未在sh下设置,这就是为什么你有空行。 -
如果不行,可以使用
uid=$(id -u)。 -
sh指向什么?你可以使用ls -lrt /bin/sh