web-dev-qa-db-ja.com

OS X端末を使用してファイルを作成し、その行を挿入する方法

OS Xのターミナルを使用して次のことを行うにはどうすればよいですか?

ユーザーのホームディレクトリに.inputrcという名前のファイルを作成し、次の行を追加します。

set completion-ignore-case On

22
GGbro

クイックアンサー

touch ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc

説明

まず、ファイルを作成します。

touch ~/.inputrc

次に、内容をファイルに追加します。

echo "set completion-ignore-case On" >> ~/.inputrc

touchは空のファイルを作成します(~/.inputrcファイルがまだ存在していない場合)。 echoは、通常は画面である「標準出力」(略して「stdout」)にテキストを書き込みますが、リダイレクト(>>)により、出力は~/.inputrcにリダイレクトされます。この設定により、ファイルに行が追加されます。

~/.inputrcがすでに存在し、その内容をerase(上書き)したい場合は、その行をそこに書き込みます(つまり、onlyこのテキスト行)、行う:

echo "set completion-ignore-case On" > ~/.inputrc

単一の矢印(>)(別名「より大きい」記号)は、ファイルの最後に内容を書き込むのではなく、指定されたテキストのみをファイルの内容として含むファイルを作成するようにechoに指示します。 (実際には、echoはファイルを作成しません。シェルはファイルを作成し、既存のコンテンツを破棄し、echoコマンドは新しいコンテンツを書き込みます。)


最初のアプローチを(>>を使用して)使用し、追加した行が前の行に詰め込まれていることがわかった場合、たとえば、

ここにいくつかのもの
ここにいくつかのもの完了無視ケースをオンに設定

次に、ファイルを編集して修正する必要があります。これは、既存のファイルの最後の行が「改行」文字(つまり、行末マーカー)ではなくテキスト文字で終わっていた場合に発生します。これはWindowsの.TXTファイルで一般的ですが、* nixではまれです。

.inputrcファイルに改行で終わらない既存のコンテンツがあることを前もって何らかの形で理解している場合は、代わりにこのechoステートメントを使用する必要があります。

echo -e "\nset completion-ignore-case On" >> ~/.inputrc

フレーズの前の\nは改行文字として解釈されるため、前の内容の後、追加したい新しいものの前に改行が追加されます。

または、タイピングは少し多いが読みやすい

echo "" >> ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc

または

(echo ""; echo "set completion-ignore-case On") >> ~/.inputrc

同じことをします;つまり、存在しない改行文字を既存のテキストに提供し、その後にset completion-…コマンドを追加します。

31
Caleb Xu

あなたがする必要があるのは:

echo "set completion-ignore-case On" >> ~/.inputrc 

echoは、通常の出力チャネル(stdout)を介して指定されたテキストを単にエコーします。

>>は、左側のコマンドからのstdout出力を右側のファイル(あなたの場合は~/.inputrc)に書き込みます。

~//home/your_username/と同じです

4
0x7a79