pwdを実行可能ファイルの引数として渡す

pwdを実行可能ファイルの引数として渡す

だから私は「崇高なテキスト」という別名を持っています。http://www.sublimetext.com/docs/2/osx_command_line.html 端末で直接ファイルまたはフォルダを開く必要があることがよくあり、これはファイルにとって簡単です。

subl myfile.html

そしてフォルダ

subl /Users/me

しかし、 "pwd"コマンドを使用してSublimeで現在のディレクトリを開く方法は?入れる方法はありますか?

答え1

$(pwd)

または、次のようなバックティックを使用できます。

`pwd`

だから:

subl `pwd`

どちらの方法でもコマンドが実行され、対応する戻りpwdテキストがコマンドラインに渡されます。 Bashを使用すると仮定すると、何が起こっているかを確認するための良い方法は、set -xコマンドを実行して実行することです。この例に示すように、wheresublのエイリアスは次のようにecho表示されます。結果ofはコマンドラインの拡張エイリアスとして渡されます(pwd次に始まる行として+表示されます)。実際実行中のコマンド):

$ alias subl=echo
$ mkdir /tmp/abc
$ cd /tmp/abc
$ set -x
$ subl `pwd`
++ pwd
+ echo /tmp/abc
/tmp/abc
$

(完了したら、を実行して印刷コマンドを停止できますset +x。)

答え2

環境変数PWDを使用するか、.

sub1 $PWD

sub1 .

答え3

あるコマンドの出力を別のコマンドのコマンドラインに挿入するには、次のようにします。コマンドの置き換え

subl "$(pwd)/somefile.txt"

(…)二重引用符の間に入れる必要があることに注意してください。それ以外の場合は、悪いことが発生します(コマンド出力にスペースまたはが含まれている場合\[*?)。

pwd同じテキストを含むシェル変数を持つ特別な場合は、$(pwd)代わりに作成できます$PWD。同じ理由で二重引用符の間に入れる必要があります。

絶対パスを引数としてプログラムをsubl呼び出すには、エイリアスではなく関数で実行する必要があります。sublパスがすでに絶対パスである可能性があることに注意してください。

subl () {
  case "$1" in
    /*) :;; # already an absolute path, nothing to do
    *) set "$PWD/$1";; # make an absolute path
  esac
  command subl "$1"  # invoke the external program subl, even though a function exists
}

関連情報