See*_*nnn 2 ruby macos terminal
我刚刚开始阅读Well-Grounded Rubyist,我刚开始在我的Mac终端上使用Ruby.
我正在上第一课,在文本编辑器中创建一个Celsius到Farenheit转换器.我已经使用Textmate(我的文本编辑器)将代码保存为.rb文件.文件名是c2f.rb. 该文件保存在桌面上名为"Rubycode"的文件夹中.
但是我在终端中运行.rb文件时遇到了困难.我尝试了许多不同的尝试调用文件的方法,包括使用:
cd /Users/rexrose/Desktop/Rubycode/c2f
Run Code Online (Sandbox Code Playgroud)
和许多其他人.
有什么想法,我应该输入终端才能调用c2f文件?
提前致谢.
我刚开始阅读Well-Ground的Rubyist.
这是一本非常好的书.我认为它更像是一本中级水平的书,而不是初学者的书,但无论如何.
我尝试了很多尝试调用文件的方法,包括使用
Run Code Online (Sandbox Code Playgroud)cd /Users/rexrose/Desktop/Rubycode/c2f
该cd命令意味着"更改目录",您无法将目录更改为文件.相反,您必须将目录更改为包含该文件的目录:
$ cd /Users/rexrose/Desktop/Rubycode
Run Code Online (Sandbox Code Playgroud)
然后你可以执行文件c2f.rb中包含的程序,如下所示:
$ ruby c2f.rb
Run Code Online (Sandbox Code Playgroud)
以下是一些终端提示:
1)您可以使用~而不是/Users/YourUserName,因此您可以通过执行以下操作来保存一些输入:
$ cd ~/Desktop/Rubycode
Run Code Online (Sandbox Code Playgroud)
键入'〜'而不是'/ Users/YourUserName'将成为第二天性.
2)使用不带参数的cd命令:
$ cd
Run Code Online (Sandbox Code Playgroud)
将带您到您的主目录,即/ Users/YourUserName
3)您应该更改提示以指示您当前所在的目录.为此,请创建.bash_profile在主目录中调用的文件(/ Users/YourUserName).检查它是否存在:
$ cd
$ ls -al
Run Code Online (Sandbox Code Playgroud)
该命令ls -al将显示目录中的所有文件,包括隐藏文件,这些文件的名称以a开头..如果.bash_profile存在名为的文件,请将其打开; 如果它不存在,请创建它.把它放进去.bash_profile:
PS1="\w$ "
Run Code Online (Sandbox Code Playgroud)
要让终端识别更改,您可以退出终端并重新启动它,或者执行以下操作:
$ source .bash_profile
Run Code Online (Sandbox Code Playgroud)
然后打开一个新的终端寡妇.
您还可以将"别名"添加到.bash_profile.例如,在我的.bash_profile中,我有'ruby'的别名'r',所以我可以执行这样的ruby程序:
$ r my_program.rb
Run Code Online (Sandbox Code Playgroud)
在.bash_profile中,你可以创建一个这样的别名:
alias r="ruby"
Run Code Online (Sandbox Code Playgroud)
4)终端中的标签完成:
您可能已经注意到可以键入文件名的一部分,然后单击选项卡,终端将完成文件名.使用tab完成,我可以像这样执行我的ruby程序:
$ r my_pr<tab>
Run Code Online (Sandbox Code Playgroud)
事实上,我将我的练习ruby程序命名为我可以使用Tab完成效果最大化.我有名为1.rb,2.rb,3.rb的文件,然后我只需输入以下内容即可执行其中一个:
$ r 1<tab>
Run Code Online (Sandbox Code Playgroud)
事实上,你甚至可能不必输入它!如果按下键盘上的向上箭头键,终端将显示上一个命令,如果再次按向上箭头键,则会在此之前看到命令.因此,您可以向上滚动到上一个命令,然后点击返回执行它 - 无需键入任何内容.
您应该尽力为路径中的每个文件名使用制表符完成.例如,如果你正在使用/ Users/YourUserName/dir1/dir2,你应该这样做:
$ cd /Use<tab>/YourUser<tab>/di<tab>/di<tab>
Run Code Online (Sandbox Code Playgroud)
您应该为每个文件名使用制表符完成的原因(顺便说一句,在Unix中filename是目录名和文件名的通用术语)是因为当名称不是制表符完成时,那么您在错误的目录中或者您正在尝试该目录中不存在的文件名.因此,不必输入整个路径'/ Users/YourUserName/dir1/dir2',然后在点击返回时查找错误,选项卡完成将在出现错误时立即通知您(因为文件名已赢'标签完成) - 节省你一些打字.
5)因为您可能会在一段时间内使用Terminal作为主要的ruby程序,所以您可以设置一些东西,以便Terminal在您的目录Users/rexrose/Desktop/Rubycode中自动打开.把它放在.bash_profile中:
cd "/Users/rexrose/Desktop/Rubycode" (Here you cannot use ~)
Run Code Online (Sandbox Code Playgroud)
6)有时,您可能需要在命令行中键入计算机上存在的长文件名:
$ cd /Library/SomeLongName/AnotherLongName34832o222/142582dir/some_file.txt
Run Code Online (Sandbox Code Playgroud)
您可以先在Finder中找到该文件,而不必在命令行中键入所有内容.然后,如果将文件拖到终端窗口上,将在光标处输入文件名.
最后,组织文件的更好方法可能是将它们放在主目录下的目录中,如下所示:
~$ mkdir ruby_programs
~$ cd ruby_programs
~/ruby_programs$ mate 1.rb
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9043 次 |
| 最近记录: |