我有点卡在这里,
这些是我的代码
#script 1
#!/bin/bash
echo ""
$(ls -l)
#script 2
#!/bin/bash
echo ""
iwconfig
#script 3
#!/bin/bash
PATH=$(pwd)
SC1=${PATH}/script1.sh
SC2=${PATH}/script2.sh
echo ""
read -p "Hi, whats your name? " NOME
echo ""
read -p "Glad to meet, ${NOME}, are you fine? [S/N] " FINE
funcao(){
if [[ "${FINE}" = "S" || "${FINE}" = "s" ]]
then
${SC1} &
wait
echo -e "\nGreat, ${NOME}, me too!"
elif [[ "${FINE}" = "N" || "${FINE}" = "n" ]]
then
${SC2} &
wait
echo -e "\nAh, ${NOME}, thats sad :("
else
echo "Invalid answer, ${NOME}!"
fi
}
funcao
我不知道为什么它一直给我这个输出
我做错了什么?
我只是测试我的技能,不需要成为一个重要的命令,只需要它可以工作。
我是linux的新手,包括shell / bash /等。试着学习,可能犯了一些愚蠢的错误......好吧....我的生活故事......
谢谢!
答案 0 :(得分:1)
在脚本3中,您正在设置PATH。这个变量确定bash在哪里找到可执行文件,通过设置它你阻止bash找到ls二进制文件,所以你得到了这个错误,使用该变量的另一个名称,你会没事的。另请参阅手册的 Shell变量部分以获取其他特殊变量。 https://linux.die.net/man/1/bash