मैं एसटीएस के कई संस्करणों को कमांड लाइन आर्ग्स के माध्यम से अपने कार्यक्षेत्र से शुरू करने की कोशिश कर रहा हूं और कोशिश की यह एक संदर्भ के रूप में।

इसका परिणाम होता है:

$open -a ~/Applications/STS.app --args -clean
FSPathMakeRef(/Users/xxx/Applications/STS.app) failed with error -43.

एसटीएस के लिए निष्पादन योग्य कहां स्थित है?

मैं MacOS High Sierra v.10.13.6 पर हूं

जहां तक ​​मुझे याद है, एसटीएस को शुरू में spring-tool-suite-3.9.3.RELEASE-e4.7.3-macosx-cocoa-x86_64.dmg के रूप में डाउनलोड किया गया था और इस तरह स्थापित किया गया था।

मैंने पढ़ा है कि मैक पर कोई भी .app और 'शो पैकेज कंटेंट' पर राइट क्लिक कर सकता है, जिसकी मैंने कोशिश की:

enter image description here

हालाँकि इसे कमांड लाइन से एक्सेस करना अभी भी काम नहीं करता है:

$ls -la ~/Applications/STS.app/Contents
ls: /Users/simeonleyzerzon/Applications/STS.app/Contents: No such file or directory

प्रति @ greg-449 की टिप्पणी के अनुसार, मैं अब STS खोलने और इसे किसी अन्य कार्यक्षेत्र स्थान पर इंगित करने का प्रयास कर रहा हूं:

$ open -a /Applications/STS.app -data /temp
open: invalid option -- d
Usage: open [-e] [-t] [-f] [-W] [-R] [-n] [-g] [-h] [-s <partial SDK name>][-b <bundle identifier>] [-a <application>] [filenames] [--args arguments]
Help: Open opens files from a shell.
      By default, opens each file using the default application for that file.
      If the file is in the form of a URL, the file will be opened as a URL.
Options:
      -a                Opens with the specified application.
      -b                Opens with the specified application bundle identifier.
      -e                Opens with TextEdit.
      -t                Opens with default text editor.
      -f                Reads input from standard input and opens with TextEdit.
      -F  --fresh       Launches the app fresh, that is, without restoring windows. Saved persistent state is lost, excluding Untitled documents.
      -R, --reveal      Selects in the Finder instead of opening.
      -W, --wait-apps   Blocks until the used applications are closed (even if they were already running).
          --args        All remaining arguments are passed in argv to the application's main() function instead of opened.
      -n, --new         Open a new instance of the application even if one is already running.
      -j, --hide        Launches the app hidden.
      -g, --background  Does not bring the application to the foreground.
      -h, --header      Searches header file locations for headers matching the given filenames, and opens them.
      -s                For -h, the SDK to use; if supplied, only SDKs whose names contain the argument value are searched.
                        Otherwise the highest versioned SDK in each platform is used.
0
Simeon Leyzerzon 23 अक्टूबर 2018, 22:08

1 उत्तर

सबसे बढ़िया उत्तर

एप्लिकेशन /Applications है - रूट फाइल सिस्टम में आपके होम डाइरेक्टरी में नहीं है इसलिए नहीं ~

बस ऐसे:

ls -la /Applications/STS.app/Contents

आपके open कमांड के लिए आप --args विकल्प को याद कर रहे हैं जो बताता है कि बाकी कमांड लाइन एप्लिकेशन के लिए है:

open -a /Applications/STS.app --args -data /temp
1
greg-449 23 अक्टूबर 2018, 20:16