详细信息将不胜感激!
我知道它应该是一个 shell 脚本或类似的东西,但如果在这个领域更有经验的人可以告诉我更多关于它的信息,那就太好了。
echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc
答案1
”回声“将(如名称所述)将文本字符串回显到标准输出(通常是屏幕)。
”>>" 会将前面命令的输出附加到文件路径。
”&&" 将运行(基于上一个命令的成功退出)后续命令。
”;" 将运行(无论前一个命令是否成功退出)后续命令。
”功能" 将创建一个将在 Bash Shell 中运行的函数。
”$HOME" 是对 Bash 自动创建的用户操作系统主目录的引用(Bash 变量)。
”.bashrc" 是一个隐藏文件(位于用户的主目录中),当用户启动交互式会话时运行。它通常用于在用户级别自定义 bash shell。
”光盘" 是目录更改,更改工作目录。
”LS" 列出目录中的文件。在这种情况下,"--color" 是一个参数,它将用颜色强调某些目录元素,而不是使用单一颜色。
”1 美元" 用于允许用户将参数作为变量传递给该命令。
所以,简而言之,为了...
echo "" >> $HOME/.bashrc &&
echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc
第一行附加一个“空”行.bashrc- 只是为了清楚起见,当有人将来查看该文件时。第二行附加一个名为“的新函数”CDLS" 它接受一个参数(目录名称),然后将工作目录更改为该位置,然后立即运行 "LS”此目录上的命令。
编辑:请参阅 Celada 和 derobert 对 steve 的回答的评论。
答案2
通过尝试向其添加任何内容来测试 $HOME/.bashrc 是否可写:
echo "" >> $HOME/.bashrc &&
如果测试成功,则文件可写,向其附加一个函数。这样运行cdls foo
将显示目录“foo”的彩色目录列表。
echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc