diff --git a/vlib/compiler/main.v b/vlib/compiler/main.v index f8049040d8..bd051bc1a8 100644 --- a/vlib/compiler/main.v +++ b/vlib/compiler/main.v @@ -1200,15 +1200,15 @@ pub fn create_symlink() { } vexe := vexe_path() mut link_path := '/usr/local/bin/v' - mut ret := os.system('ln -sf $vexe $link_path') - if ret == 0 { + mut ret := os.exec('ln -sf $vexe $link_path') or { panic(err) } + if ret.exit_code == 0 { println('Symlink "$link_path" has been created') } - else if os.system('uname -o | grep [A/a]ndroid') == 0 { + else if os.system('uname -o | grep -q \'[A/a]ndroid\'') == 0 { println('Failed to create symlink "$link_path". Trying again with Termux path for Android.') link_path = '/data/data/com.termux/files/usr/bin/v' - ret = os.system('ln -sf $vexe $link_path') - if ret == 0 { + ret = os.exec('ln -sf $vexe $link_path') or { panic(err) } + if ret.exit_code == 0 { println('Symlink "$link_path" has been created') } else { println('Failed to create symlink "$link_path". Try again with sudo.')