我有这段代码
test.sh =>
#!/bin/bash
echo "i am running......."
while true
do
echo "you typed ----- $1"
done
我只想要输入test hello
的地方,它应该打印you typed ----- hello
。
例如: 的控制台-1
vagrant@dummy:~$ sh test.sh
i am running.......
控制台-2
vagrant@dummy:~$ test hello
you typed ----- hello
像它应该像守护进程一样运行,我应该从任何地方调用它。有什么帮助吗?
答案 0 :(得分:1)
你可以尝试
#!/bin/bash
# read will return true as long as it reads the "delimiter"
while read -p "Please enter something: "
do
if [[ $REPLY == "stop" ]]
then
# break exits the "while" loop
break
else
printf "%s\n" "you entered $REPLY"
fi
done
答案 1 :(得分:0)
您的代码看起来可以作为输出。
能够从任何地方运行它 -
例如,
$ echo $PATH
/bin:/usr/bin:/etc:/usr/sbin
您可以将脚本放在上述某个目录中,也可以将PATH设置为包含更多位置,在.profile或.bash_profile中导出PATH时,每次登录时都会自动导出。
在〜/ .profile -
中添加export PATH=$PATH:/dir/to/script
将脚本放在/ dir / to / script中。现在每次登录时,PATH都会像 -
$ echo $PATH
/bin:/usr/bin:/etc:/usr/sbin:/script/to/dir
现在,您可以从任何地方运行脚本 -
$ test hello