如何使用 OS X 终端创建文件并在其中插入一行

如何使用 OS X 终端创建文件并在其中插入一行

如何使用 OS X 上的终端执行以下操作?

.inputrc在用户主目录中创建一个名为的文件,并在其中放入以下行:

set completion-ignore-case On

答案1

快速回答

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

解释

首先,创建文件:

touch ~/.inputrc

然后,将内容添加到文件:

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

touch创建一个空文件(假设该~/.inputrc文件尚不存在)。echo将文本写入“标准输出”(简称“stdout”),通常是您的屏幕,但由于重定向(>>),输出被重定向到~/.inputrc。此设置会将行附加到文件。

如果~/.inputrc已经存在,并且您想要擦除(破坏)其内容,然后将该行写入其中(即创建一个文件仅有的这行文本),请执行以下操作:

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

单箭头 ( >),又称“大于”符号,表示echo创建一个文件,其中仅包含给定的文本作为文件内容,而不是将内容写入文件末尾。(实际上,echo不会创建文件;shell 创建文件,丢弃任何现有内容,然后命令echo写入新内容。)


如果你使用第一种方法(使用>>),并且发现你添加的行被挤到了上一行,例如,

这里有些东西
这里还有一些内容设置完成忽略大小写

然后您需要编辑文件来修复它。如果预先存在的文件的最后一行以文本字符而不是“换行符”(即行尾标记)结尾,就会发生这种情况。这对于.TXTWindows 上的文件很常见,但在 *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-…在其后添加命令。

答案2

您需要做的就是:

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

echo只是通过正常输出通道 (stdout) 回显给它的文本

>>将左侧命令的标准输出写入右侧文件,在您的情况下为~/.inputrc

~/是相同的/home/your_username/

相关内容