从String Dash Linux执行命令

时间:2013-04-15 07:03:00

标签: linux bash terminal eval dash-shell

所以我想学习如何为Linux OS编写脚本,所以我编写了这个下载和安装脚本。虽然,我知道linux的任何一个好的编码器都会认为这是绝对的滑动工作,到目前为止它的工作性能达到标准,所以我现在只有一个错误。

CODE:

#!/bin/sh
###################################
#Lystics Core Linux Code v1       #
#                                 #
# Starting Date 4/14              #
#                                 #
# Ending Date ~                   #
#                                 #
###################################


clear

#Define Veriables
dir='./LysticsCode/'
url='http://lysticscode.host-elite.com/Linux/Bash%20Scripts/LCode.sh'
file=$(basename "$url")

echo LysticsCode for Linux v1 Installer
echo
read -r -p "Are you sure you wish to install? [Y/n] " a
if [ "$a" = 'n' -o "$a" = 'N' ]; then


#Not going to install
echo 'Exiting The Installation. Thank You! =D'
exit 1;
else
#Set up screen
clear
echo LysticsCode for Linux v1
echo First Installation
echo ''
#Installing
echo Downloading Packages...
curl -o "$dir$file" "$url"
echo ''
echo ''
echo 'Download Complete!'
eval "alias lcode=/root/LysticsCode/Main.sh"
exit 1;
fi


#End Script
$SHELL

我要做的是添加一个命令别名,以便更轻松地访问已安装的文件。我尝试使用eval“别名lcode = DIR”,它没有用。与$(别名lcode = dir)相同

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

别名不会继承到子进程。您不应该在脚本末尾调用子shell,而是将脚本保存到名为myenv.sh的文件中,在当前shell中执行脚本:

. myenv.sh

答案 1 :(得分:0)

$source /root/LysticsCode/Main.sh

会工作。