bashスクリプトで引用符で囲まれたパスを使用するときにチルダコンビニエンスパスを拡張しますか?

gcb

私はいつも、bashスクリプトの引用符内にハードコードされていないパスを使用してきました。そうすれば、パス(ユーザーが入力したもの、ユーザーのホームディレクトリなど)に奇妙な文字やスペース、ダッシュが含まれている場合でも、スクリプトは煩わしくならず、通常どおりに進みます。

しかし、ほとんどのパスで機​​能しますが、ユーザーのホームディレクトリへのショートカットとしてチルダがあるパスでは失敗することに気づきました。例えば:

# works
install dotfile "/home/user/.dotfile"

# fails
install dotfile "~/.dotfile"
# fails
cp dotfile "~/.dotfile"

引用符は、~それ自体を解析しないように保護しようとしています。ファイルをにコピーしようとしているので./~/.dotfile

~/便利なため(そしてシンプルでバグが少ないことを意味します)、スペースやダッシュに対して安全であるため引用符で囲んで使用したいと思います。両方を持つ方法はありますか?

John1024

便利なため(そしてシンプルでバグが少ないことを意味する)〜/を使用し、スペースやダッシュに対して安全であるため引用符で囲みます。両方を持つ方法はありますか?

はい、二重引用符を使用することをお勧めします。それらをの周りに置かないでください~/その部分は引用符で囲まないでください。

install dotfile ~/".dotfile"

チルダ拡張と難しいホームディレクトリ名

~拡張は使用HOME変数を。難しい名前のディレクトリを作成して割り当てHOME、シェルがどのように動作するかを見てみましょう

$ mkdir $'/tmp/spaces and\ttabs'
$ HOME=$'/tmp/spaces and\ttabs'
$ cd ~/
$ pwd
/tmp/spaces and tabs

したがって、それは正しく機能しました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

パンダはcsvを読み取ります-スペース区切り文字を使用しているときに引用符で囲まれたエントリを認識しますか?

分類Dev

ユーザーがエクスプローラー/コンテキストでファイルを右クリックしたときに、vscode拡張子でファイル名またはパスを取得するにはどうすればよいですか?

分類Dev

カスタムニット関数を使用し、リスト内の引用符で囲まれた関数を評価するときに、Knitrが前のチャンクから関数を見つけられない

分類Dev

VSTSホストエージェントでSQLite拡張機能を使用してUWPプロジェクトをビルドするときに「パスに不正な文字が含まれています」エラー

分類Dev

ソースコマンドで使用されたときにbashスクリプトのパスを取得する方法はありますか?

分類Dev

引用符で囲まれた引数をシェルスクリプトに渡し、引用符を維持する

分類Dev

コンパニオンオブジェクトは、コンパニオンクラスとは異なる特性を拡張できますか?

分類Dev

一重引用符で囲まれたコンテンツをキャプチャするときにアポストロフィを無視するREGEX

分類Dev

jenkinsを使用して作成されたiOS9にアプリビルドをインストールできません。エラーは、シンボリックリンクに絶対パスがあることを示しています

分類Dev

Bashでインポートされた変数は、二重引用符で囲まれると構成スクリプトを壊します

分類Dev

引用符で囲まれたコンマを保持してcsvファイルをパイプ(|)区切りファイルに変換するシェルスクリプトが必要です

分類Dev

WindowsでPythonC拡張機能をビルドするときにシンボルをエクスポート中にエラーが発生しました

分類Dev

RESTサービスコントローラーは、リクエストパラメーターで指定されたパスにあるテキストファイルを読み取ることができますか?

分類Dev

Pythonスクリプトのパスを一重引用符で囲むと、アクセント付き文字が作成されます

分類Dev

ファイルから読み取り、シェルスクリプトを使用してコンテンツを別の実行者に渡すときに、二重引用符をエスケープするにはどうすればよいですか?

分類Dev

エスケープシーケンス処理を使用して引用符で囲まれた文字列用のboost :: spirit :: x3パーサーを作成する

分類Dev

MySQLデータベースにクエリを実行するときにPHPで引用符で囲まれた文字列を「エスケープ解除」する

分類Dev

複数行の二重引用符で囲まれた文字列は、パイプされる後続の単一引用符で囲まれたコマンドの履歴拡張をトリガーします

分類Dev

スクレイピングに使用されるlxmlコードを使用したforループは、「リストインデックスが範囲外です」エラーを示しますが、2つのインスタンスで機能します

分類Dev

引用符(ソースパラメーター)が埋め込まれたコマンドを実行すると、Bashスクリプトが失敗する

分類Dev

UIKITでXcodeプレビューを使用するときにCompileDylibErrorを修正するにはどうすればよいですか?コンパイルに失敗しました: ';' ステートメントは許可されていません

分類Dev

引用符で囲まれたリストから値をスキップする

分類Dev

引用符で囲まれた文字列引数をbashスクリプト内からawkに渡す

分類Dev

10分ごとに角かっこで囲まれたIDをカウントするBashスクリプト

分類Dev

Chrome拡張機能を介してnavigator.credentials.createリクエストまたはレスポンスパラメータを置き換えるにはどうすればよいですか?

分類Dev

含まれているパラメーターを使用して独自のカスタム アプリを開くリンクを電子メールまたはテキストで Android デバイスに送信することはできますか?

分類Dev

クラスとリストを使用するプログラムをコンパイルできません

分類Dev

kubernetesダッシュボードエラー: 'メトリッククライアントヘルスチェックに失敗しました:サーバーは要求されたリソースを見つけることができませんでした(サービスヒープスターを取得します)。

分類Dev

ルートまたはクエリ文字列パラメーターなしでAsp.NetWebApiアクションでFromUri属性を使用するときに、複雑なクラスを強制的にインスタンス化できますか?

Related 関連記事

  1. 1

    パンダはcsvを読み取ります-スペース区切り文字を使用しているときに引用符で囲まれたエントリを認識しますか?

  2. 2

    ユーザーがエクスプローラー/コンテキストでファイルを右クリックしたときに、vscode拡張子でファイル名またはパスを取得するにはどうすればよいですか?

  3. 3

    カスタムニット関数を使用し、リスト内の引用符で囲まれた関数を評価するときに、Knitrが前のチャンクから関数を見つけられない

  4. 4

    VSTSホストエージェントでSQLite拡張機能を使用してUWPプロジェクトをビルドするときに「パスに不正な文字が含まれています」エラー

  5. 5

    ソースコマンドで使用されたときにbashスクリプトのパスを取得する方法はありますか?

  6. 6

    引用符で囲まれた引数をシェルスクリプトに渡し、引用符を維持する

  7. 7

    コンパニオンオブジェクトは、コンパニオンクラスとは異なる特性を拡張できますか?

  8. 8

    一重引用符で囲まれたコンテンツをキャプチャするときにアポストロフィを無視するREGEX

  9. 9

    jenkinsを使用して作成されたiOS9にアプリビルドをインストールできません。エラーは、シンボリックリンクに絶対パスがあることを示しています

  10. 10

    Bashでインポートされた変数は、二重引用符で囲まれると構成スクリプトを壊します

  11. 11

    引用符で囲まれたコンマを保持してcsvファイルをパイプ(|)区切りファイルに変換するシェルスクリプトが必要です

  12. 12

    WindowsでPythonC拡張機能をビルドするときにシンボルをエクスポート中にエラーが発生しました

  13. 13

    RESTサービスコントローラーは、リクエストパラメーターで指定されたパスにあるテキストファイルを読み取ることができますか?

  14. 14

    Pythonスクリプトのパスを一重引用符で囲むと、アクセント付き文字が作成されます

  15. 15

    ファイルから読み取り、シェルスクリプトを使用してコンテンツを別の実行者に渡すときに、二重引用符をエスケープするにはどうすればよいですか?

  16. 16

    エスケープシーケンス処理を使用して引用符で囲まれた文字列用のboost :: spirit :: x3パーサーを作成する

  17. 17

    MySQLデータベースにクエリを実行するときにPHPで引用符で囲まれた文字列を「エスケープ解除」する

  18. 18

    複数行の二重引用符で囲まれた文字列は、パイプされる後続の単一引用符で囲まれたコマンドの履歴拡張をトリガーします

  19. 19

    スクレイピングに使用されるlxmlコードを使用したforループは、「リストインデックスが範囲外です」エラーを示しますが、2つのインスタンスで機能します

  20. 20

    引用符(ソースパラメーター)が埋め込まれたコマンドを実行すると、Bashスクリプトが失敗する

  21. 21

    UIKITでXcodeプレビューを使用するときにCompileDylibErrorを修正するにはどうすればよいですか?コンパイルに失敗しました: ';' ステートメントは許可されていません

  22. 22

    引用符で囲まれたリストから値をスキップする

  23. 23

    引用符で囲まれた文字列引数をbashスクリプト内からawkに渡す

  24. 24

    10分ごとに角かっこで囲まれたIDをカウントするBashスクリプト

  25. 25

    Chrome拡張機能を介してnavigator.credentials.createリクエストまたはレスポンスパラメータを置き換えるにはどうすればよいですか?

  26. 26

    含まれているパラメーターを使用して独自のカスタム アプリを開くリンクを電子メールまたはテキストで Android デバイスに送信することはできますか?

  27. 27

    クラスとリストを使用するプログラムをコンパイルできません

  28. 28

    kubernetesダッシュボードエラー: 'メトリッククライアントヘルスチェックに失敗しました:サーバーは要求されたリソースを見つけることができませんでした(サービスヒープスターを取得します)。

  29. 29

    ルートまたはクエリ文字列パラメーターなしでAsp.NetWebApiアクションでFromUri属性を使用するときに、複雑なクラスを強制的にインスタンス化できますか?

ホットタグ

アーカイブ