sub RunScript(iKey as Long)
	
	dim as string sNameScript ' имя скрипта
	
	if iKey  = CVK_F5 then ' если нажата F5
		
		sNameScript = "F5Key" ' сохраняем имя
		
	elseif iKey  = CVK_F6 then ' если нажата F6
		
		sNameScript = "F6Key" ' сохраняем имя
		
	EndIf
	
	dim as zstring ptr pszUserName = getenv("HOME") ' получим папку пользователя
	
	dim as string sPathFileScript
	
	#ifdef __UNIX_SYSTEM__
	
		if pszUserName andalso len(*pszUserName) then ' если получили удачно
			
			sPathFileScript = *pszUserName & "/.cedit/" ' пишем путь для скриптов F5 , F6
			
		else
			
			sPathFileScript = exepath & "/" ' пишем путь для скриптов F5 , F6
			
		EndIf
	
	#else
	
		sPathFileScript = exepath & "\" ' пишем путь для скриптов F5 , F6
	
	#endif
	
	dim as string sFileExe = *(pObjFB.pszFileName) ' имя файла EXE для второго параметра в скрипт
	
	if lcase(right(sFileExe , 4)) = ".bas" then ' если это файл BAS
		
		sFileExe = left(sFileExe , len(sFileExe)-4) 'получим имя без расширения , то есть EXE
		
	EndIf
	
	dim as string sPath = Getpathpart(*(pObjFB.pszFileName))
	
	#ifdef __UNIX_SYSTEM__
		
		dim as string sFileNameWithoutSpaces
		
		sFileNameWithoutSpaces = Replacestring(*(pObjFB.pszFileName) , " " , "\ " , ,1)
		
		sFileExe = Replacestring(sFileExe , " " , "\ " , ,1)
		
		if left(sPath , 1) <> "." then
			
			ChDir(sPath)
			
		EndIf
		
		if pObj.iParametersClipBoard then ' если графический терминал
			
			If Lcase(pObj.szTerminal) = "gnome-terminal" Then ' у этого терминала другой спецификатор для параметров
				
				shell "gnome-terminal -- " & sPathFileScript & sNameScript & ".sh " & sFileNameWithoutSpaces & " " & sFileExe

			else
			
				shell pObj.szTerminal & " -e " & sPathFileScript & sNameScript & ".sh " & sFileNameWithoutSpaces & " " & sFileExe
				
			EndIf
			
		else ' текстовый терминал
			
			cls
			
			shell sPathFileScript & sNameScript & ".sh " & sFileNameWithoutSpaces & " " & sFileExe
			
			print "Press any key..."
			
			GetAnyKey()
			
		EndIf
		
		Init_Custom_Keys() ' настройки после запуска сбиваются , поэтому заново переопределяем
		
	#else
		
		if len(sPath) then
			
			ChDir(sPath)
			
		EndIf
		
		#ifdef __FB_WIN32__
			
			#ifdef Win9x
				
				shell "start command.com /C " & sPathFileScript & sNameScript & ".bat " & *(pObjFB.pszFileName) & " " & sFileExe ' для винды win9x
				
			#else
				
				shell "start cmd /C " & sPathFileScript & sNameScript & ".bat " & chr(34) & *(pObjFB.pszFileName) & chr(34) & " " & chr(34) & sFileExe & chr(34) ' для винды
				
			#EndIf
			
		#else
			
			cls
			
			shell sPathFileScript & sNameScript & ".bat " & *(pObjFB.pszFileName) & " " & sFileExe ' для доса
			
		#EndIf
		
	#EndIf	
	
End Sub