How to setup and open Sublime Text from Bash command line? - windows

I'm having trouble setting up Sublime Text for bash on Windows Powershell. I would like to use Sublime Text instead of emacs or vi. I got it to work once but every time I close the terminal it stops working.
I used
alias subl='"/mnt/c/Program Files/Sublime Text 3/sublime_text.exe"'
and this works but after I close the terminal and reopen it, it does not recognize the command anymore.

When running bash.exe either from the powershell or calling bash.exe directly, windows doesn't appear to make your default directory your home! Thats maybe why perhaps you cannot see .bashrc as other have mentioned. So in order to make your alias persistent..
Move to your home direcotry:
cd ~
vim .bash_profile
I use .bash_profile but as others have mentioned you could/can add it to .bashrc
Add this into your .bash_profile:
alias subl=' "/mnt/c/Program Files/Sublime Text 3/sublime_text.exe"'
Now every time you login, .bash_profile will load and in turn your alias
subl
Will see Sublime text load for you
I would recommend a slightly clener way. Add this to your .bash_profile instead:
export PATH="/mnt/c/Program Files/Sublime Text 3":$PATH
Now you can simply just run:
sublime_text.exe

in WIN 10
do
WIN + pause
select Advanced settings
select Environment Variables
add the path to sublime to the env variable list

Related

.bash_profile error "zsh: No such file or directory" on MacOS

I am trying to update my .bash_profile but the changes are not being reflected.
When I type ~/.bash_profile in command line, i get the error "zsh: No such file or directory: Users/My.Name/.bash_profile".
Why can't terminal find it? How do I help it locate the file? When I go to Users/My.Name directory and show hidden files, the .bash_profile is there.
If you type
~/.bash_profile
on your command line while using zsh, as it seems you do, if the file exists you'll receive
zsh: permission denied: /Users/username/.bash_profile
because usually the file does not have execute permission set.
You could source the file, but it's not a good idea to load init files from different shells as syntax differs.
The reason why terminal can't find your .bash_profile is because you are using zsh as your default shell, not bash. Zsh is a newer and it has its own configuration file called .zshrc. If you want to update your zsh settings, you need to edit the .zshrc file instead of the .bash_profile file.
To help terminal locate the file, you can use the full path of the file instead of the relative path. The full path starts with a slash (/) and specifies the exact location of the file in the file system. The relative path starts with a tilde (~) and specifies the location of the file relative to your home directory. For example, the full path of your .zshrc file is /Users/My.Name/.zshrc, while the relative path is ~/.zshrc.
To edit the .zshrc file, you can use any text editor of your choice, such as nano, vim, or VS Code. For example, to edit the file using nano, you can type the following command in terminal:
nano /Users/My.Name/.zshrc
This will open the file in nano, where you can make your changes and save them. To exit nano, press Ctrl+X, then Y, then Enter.
Explanation
A shell is a program that interprets your commands and runs them on your computer. There are different types of shells, such as bash, zsh, ksh, and csh. Each shell has its own syntax, features, and configuration files. You can check which shell you are using by typing the following command in terminal:
echo $SHELL
This will print the full path of your current shell. For example, if you are using zsh, it will print /bin/zsh.
A configuration file is a file that contains settings and preferences for your shell. It is usually hidden, meaning that it starts with a dot (.). It is executed every time you open a new terminal session, so it can affect your environment variables, aliases, functions, and other aspects of your shell. For example, you can use a configuration file to change your prompt, set your PATH, or enable some plugins.
The most common configuration file for bash is .bash_profile, while the most common configuration file for zsh is .zshrc. They are usually located in your home directory, which is the directory that contains your personal files and folders. You can access your home directory by typing ~ in terminal.
To edit a configuration file, you need to use a text editor, which is a program that allows you to create and modify text files. There are many text editors available, such as nano, vim, VS Code, Sublime Text, and Atom. Each text editor has its own commands, shortcuts, and features. For example, nano is a simple and easy-to-use text editor that runs in terminal, while VS Code is a powerful and modern text editor that runs in a graphical user interface.
Examples
Here are some examples of how to edit your .zshrc file using different text editors:
To edit the file using vim, type the following command in terminal:
vim /Users/My.Name/.zshrc
This will open the file in vim, where you can make your changes and save them. To exit vim, press Esc, then :, then x, then Enter.
To edit the file using VS Code, type the following command in terminal:
code /Users/My.Name/.zshrc
This will open the file in VS Code, where you can make your changes and save them. To exit VS Code, click on the red X button on the top left corner of the window.
To edit the file using Sublime Text, type the following command in terminal:
subl /Users/My.Name/.zshrc
This will open the file in Sublime Text, where you can make your changes and save them. To exit Sublime Text, click on the red X button on the top right corner of the window.

Unix Shell .bash_profile script open two files in sublime text in same window

So I have the following code in my .bash_profile file. This code allows me to use the sub command followed by the folder/filename to open that folder/file in sublime text! Thats awesome!
However I'm trying to open the .bash and .bash_profile files in sublime text using the editbashpro command as defined by the alias... however it opens BOTH files in SEPARATE windows.
I do NOT want to fix this issue by changing settings in Sublime Text itself, which it seems all of the tutorials out there are directing me towards this...
Is there any way to open both .bash and .bash_profile in the same window in sublime using only the terminal/bash_profile script? I'm extremely new to the terminal and using shell scripting? idk what its even called? see how new i am?
# Sublime Text Open File/Folder Command
function sub() {
open $1 -a "Sublime Text"
}
echo 'sub <file/folder> ->
open file/folder in sublime
'
# Edit Bash Profiles Command
alias editbashpro='cd ~/;
sub .bash_profile;
sub .bashrc;'
echo 'editbashpro ->
opens .bashrc and .bash_profile in Sublime Text Editor'

unable to find .bash_profile [duplicate]

I am trying to edit an entry to PATH, as I did something wrong.
I am using Mac OS X v10.10.3 (Yosemite)
I have tried:
touch ~/.bash_profile; open ~/.bash_profile
But the file editor opens with nothing inside.
My problem:
I am trying to install ANDROID_HOME to my PATH
I misspelled it, but when I closed the terminal and went back it was gone, so I tried again:
export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
This time, I typed the command correctly but, when I closed the terminal, my settings disappeared again.
How do I execute my desired settings?
If I was to edit bash.profile, how would I enter the above code?
You have to open that file with a text editor and then save it.
touch ~/.bash_profile; open ~/.bash_profile
It will open the file with TextEdit, paste your things and then save it. If you open it again you'll find your edits.
You can use other editors:
nano ~/.bash_profile
mate ~/.bash_profile
vim ~/.bash_profile
But if you don't know how to use them, it's easier to use the open approach.
Alternatively, you can rely on pbpaste. Copy
export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
in the system clipboard and then in a shell run
pbpaste > ~/.bash_profile
Or alternatively you can also use cat
cat > ~/.bash_profile
(now cat waits for input: paste the two export definitions and then hit Ctrl + D).
A bit more detailed for beginners:
Before you begin with .bash_profile on Mac, please be aware that since macOS Catalina zsh (z shell) is the default shell. Therefore stuff we used to put in the .bash_profile now belongs to the .zshenv or the .zshrc file.
.zshenv .zshrc ? (Found here)
.zshenv: invocations of the shell. Often contains exported variables that should be available to other programs. For example, $PATH.
.zshrc: Sourced in interactive shells only. It should contain commands to set up aliases, functions, options, key bindings, etc.
STEP 1
Make sure the .bash_profile file is existing? (or the .zshenv of course) Remember that the .bash_profile file isn't there by default. You have to create it on your own.
Go into your user folder in finder.
The .bash_profile file should be findable there.
-> HD/Users/[USERNAME]
Remember: Files with a point at the beginning '.' are hidden by default.
To show hidden files in Mac OS Finder:
Press: Command + Shift + .
If it's not existing, you have to create .bash_profile on your own.
Open terminal app and switch into user folder with simple command:
cd
If it's not existing, use this command to create the file:
touch .bash_profile
STEP 2
If you can't memorise the nerdy commands for save and close in vim, nano etc (the way recommended above) the easiest way to edit is to open .bash_profile (or the .zshenv) file in your favored code editor (Sublime, Visual Studio Code, etc.).
Finder -> User folder. Right click -> open with : Visual Studio Code (or other code editor). Or drag it on app in dock.
… and there you can edit it, pass export commands in new lines.
If you are using macOS v10.15 (Catalina), you need to update the .zshrc file instead of file .bash_profile or .profile.
For Mac OS, step by step:
First of all, open a terminal and write it: cd ~/
Create your Bash file: touch .bash_profile
You created your ".bash_profile" file, but if you would like to edit it, you should write it;
Edit your Bash profile: open -e .bash_profile
After that you can save from the top-left corner of screen: File → Save
For beginners: To create your .bash_profile file in your home directory on macOS, run:
nano ~/.bash_profile
Then you can paste in the following:
https://gist.github.com/mocon/0baf15e62163a07cb957888559d1b054
As you can see, it includes some example aliases and an environment variable at the bottom.
One you're done making your changes, follow the instructions at the bottom of the Nano editor window to WriteOut (Ctrl + O) and Exit (Ctrl + X). Then quit your Terminal and reopen it, and you will be able to use your newly defined aliases and environment variables.
Set the path JAVA_HOME and ANDROID_HOME. You have to open terminal and enter the below cmd.
touch ~/.bash_profile; open ~/.bash_profile
After that, paste the below paths in the base profile file and save it:
export ANDROID_HOME=/Users/<username>/Library/Android/sdk
export PATH="$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH"
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
Just type open ~/.bash_profile on terminal, you can edit it.
Determine which shell you're using by typing echo $SHELL in Terminal.
Then open/create correct rc file. For Bash it's $HOME/.bash_profile or $HOME/.bashrc. For Z shell it's $HOME/.zshrc.
Add this line to the file end:
export PATH="$PATH:/your/new/path"
To verify, refresh variables by restarting Terminal or typing source $HOME/.<rc file> and then do echo $PATH
Mac OS X doesn't store the path in file .bash_profile, but file .profile, since Mac OS X is a branch of the *BSD family. You should be able to see the export blah blah blah in file .profile once you do cat .profile on your terminal.
For me, my macOS is macOS v10.14 (Mojave). And I was facing the same issue for three days and in the end, I just wrote the correct path in the .bash_profile file which was like this:
export PATH=/Users/[YOURNAME]/development/flutter/bin:$PATH
Note 1: if you don't have filr .bash_profile, create one and write the line above
Note 2: zip your downloaded Flutter SDK in [home]/development if you copy and paste this path
The simplest answer is:
Step 1: Fire up Terminal.app
Step 2: Type nano .bash_profile – This command will open the .bash_profile document (or create it if it doesn’t already exist) in the easiest-to-use text editor in Terminal – Nano.
Step 3: Now you can make a simple change to the file. Paste these lines of code to change your Terminal prompt.
export PS1="___________________ | \w # \h (\u) \n| => "
export PS2="| => "
Step 4: Now save your changes by typing Ctrl + O. Hit Return to save. Then exit Nano by typing Ctrl + X
Step 5: Now we need to *activate your changes. Type source .bash_profile and watch your prompt change.
That's it! Enjoy!

How do I edit $PATH (.bash_profile) on OS X?

I am trying to edit an entry to PATH, as I did something wrong.
I am using Mac OS X v10.10.3 (Yosemite)
I have tried:
touch ~/.bash_profile; open ~/.bash_profile
But the file editor opens with nothing inside.
My problem:
I am trying to install ANDROID_HOME to my PATH
I misspelled it, but when I closed the terminal and went back it was gone, so I tried again:
export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
This time, I typed the command correctly but, when I closed the terminal, my settings disappeared again.
How do I execute my desired settings?
If I was to edit bash.profile, how would I enter the above code?
You have to open that file with a text editor and then save it.
touch ~/.bash_profile; open ~/.bash_profile
It will open the file with TextEdit, paste your things and then save it. If you open it again you'll find your edits.
You can use other editors:
nano ~/.bash_profile
mate ~/.bash_profile
vim ~/.bash_profile
But if you don't know how to use them, it's easier to use the open approach.
Alternatively, you can rely on pbpaste. Copy
export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
in the system clipboard and then in a shell run
pbpaste > ~/.bash_profile
Or alternatively you can also use cat
cat > ~/.bash_profile
(now cat waits for input: paste the two export definitions and then hit Ctrl + D).
A bit more detailed for beginners:
Before you begin with .bash_profile on Mac, please be aware that since macOS Catalina zsh (z shell) is the default shell. Therefore stuff we used to put in the .bash_profile now belongs to the .zshenv or the .zshrc file.
.zshenv .zshrc ? (Found here)
.zshenv: invocations of the shell. Often contains exported variables that should be available to other programs. For example, $PATH.
.zshrc: Sourced in interactive shells only. It should contain commands to set up aliases, functions, options, key bindings, etc.
STEP 1
Make sure the .bash_profile file is existing? (or the .zshenv of course) Remember that the .bash_profile file isn't there by default. You have to create it on your own.
Go into your user folder in finder.
The .bash_profile file should be findable there.
-> HD/Users/[USERNAME]
Remember: Files with a point at the beginning '.' are hidden by default.
To show hidden files in Mac OS Finder:
Press: Command + Shift + .
If it's not existing, you have to create .bash_profile on your own.
Open terminal app and switch into user folder with simple command:
cd
If it's not existing, use this command to create the file:
touch .bash_profile
STEP 2
If you can't memorise the nerdy commands for save and close in vim, nano etc (the way recommended above) the easiest way to edit is to open .bash_profile (or the .zshenv) file in your favored code editor (Sublime, Visual Studio Code, etc.).
Finder -> User folder. Right click -> open with : Visual Studio Code (or other code editor). Or drag it on app in dock.
… and there you can edit it, pass export commands in new lines.
If you are using macOS v10.15 (Catalina), you need to update the .zshrc file instead of file .bash_profile or .profile.
For Mac OS, step by step:
First of all, open a terminal and write it: cd ~/
Create your Bash file: touch .bash_profile
You created your ".bash_profile" file, but if you would like to edit it, you should write it;
Edit your Bash profile: open -e .bash_profile
After that you can save from the top-left corner of screen: File → Save
For beginners: To create your .bash_profile file in your home directory on macOS, run:
nano ~/.bash_profile
Then you can paste in the following:
https://gist.github.com/mocon/0baf15e62163a07cb957888559d1b054
As you can see, it includes some example aliases and an environment variable at the bottom.
One you're done making your changes, follow the instructions at the bottom of the Nano editor window to WriteOut (Ctrl + O) and Exit (Ctrl + X). Then quit your Terminal and reopen it, and you will be able to use your newly defined aliases and environment variables.
Set the path JAVA_HOME and ANDROID_HOME. You have to open terminal and enter the below cmd.
touch ~/.bash_profile; open ~/.bash_profile
After that, paste the below paths in the base profile file and save it:
export ANDROID_HOME=/Users/<username>/Library/Android/sdk
export PATH="$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH"
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
Just type open ~/.bash_profile on terminal, you can edit it.
Determine which shell you're using by typing echo $SHELL in Terminal.
Then open/create correct rc file. For Bash it's $HOME/.bash_profile or $HOME/.bashrc. For Z shell it's $HOME/.zshrc.
Add this line to the file end:
export PATH="$PATH:/your/new/path"
To verify, refresh variables by restarting Terminal or typing source $HOME/.<rc file> and then do echo $PATH
Mac OS X doesn't store the path in file .bash_profile, but file .profile, since Mac OS X is a branch of the *BSD family. You should be able to see the export blah blah blah in file .profile once you do cat .profile on your terminal.
For me, my macOS is macOS v10.14 (Mojave). And I was facing the same issue for three days and in the end, I just wrote the correct path in the .bash_profile file which was like this:
export PATH=/Users/[YOURNAME]/development/flutter/bin:$PATH
Note 1: if you don't have filr .bash_profile, create one and write the line above
Note 2: zip your downloaded Flutter SDK in [home]/development if you copy and paste this path
The simplest answer is:
Step 1: Fire up Terminal.app
Step 2: Type nano .bash_profile – This command will open the .bash_profile document (or create it if it doesn’t already exist) in the easiest-to-use text editor in Terminal – Nano.
Step 3: Now you can make a simple change to the file. Paste these lines of code to change your Terminal prompt.
export PS1="___________________ | \w # \h (\u) \n| => "
export PS2="| => "
Step 4: Now save your changes by typing Ctrl + O. Hit Return to save. Then exit Nano by typing Ctrl + X
Step 5: Now we need to *activate your changes. Type source .bash_profile and watch your prompt change.
That's it! Enjoy!

Need to re-edit .bash_profile but locked out because PATH is wrong

I just added an incorrect PATH line to my .bash_profile and now every command results in "command not found", include vim. How can I re-edit the file to make the correction?
Thanks!
Try specifying an absolute path to an editor:
% /usr/bin/vim ~/.bash_profile
On the Mac you can also use the open command to have the OS open a GUI-based editor of its choosing (or have you select one.) I believe TextEdit is the default for .bash_profile:
% open ~/.bash_profile
In the case command line tools won't work, files on most systems (eg. linux, osx, cygwin, etc) can be edited by non-command tools such as notepad. This tool, in contrast to Wordpad, is a plain text editor, while Wordpad is a word processor. In case some errors appear after using it, in the terminal simply runs:
dos2unix your-problematic-file
that should solve the problem.

Resources