Может кто-нибудь объяснить эту строку кода / команды, пожалуйста?

Детали будут оценены!

Я знаю, что это должен быть сценарий оболочки или что-то в этом роде, но было бы очень приятно, если бы кто-то более опытный в этой области мог рассказать мне больше об этом.

echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc 

2 Solutions collect form web for “Может кто-нибудь объяснить эту строку кода / команды, пожалуйста?”

« echo » будет (как указано в названии) повторять строку текста для вывода (обычно на экран).

« >> » добавит вывод предыдущей команды в путь к файлу.

« && » будет запускаться (на основе успешного выхода предыдущей команды) последовательной команды.

« ; » будет запускаться (независимо от успешного выхода предыдущей команды) последовательной команды.

« function » создаст функцию, которая будет работать в оболочке Bash.

« $ HOME » – это ссылка (Bash Variable) в домашний каталог ОС пользователя, автоматически созданный Bash.

« .bashrc » – это скрытый файл (в домашнем каталоге пользователя), который запускается, когда пользователь запускает интерактивный сеанс. Он часто используется для настройки оболочки bash на уровне пользователя.

« cd » – это изменение каталога, изменение рабочего каталога.

« ls » перечисляет файлы в каталоге. В этом случае «–color» – это аргумент, который будет подчеркивать определенные элементы каталога с цветом, а не использовать один цвет.

« $ 1 » используется, чтобы позволить пользователю передавать аргумент этой команде в качестве переменной.

Итак, короче говоря, для …

 echo "" >> $HOME/.bashrc && echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc 

Первая строка добавляет «пустую» строку в .bashrc – просто для ясности, когда кто-то смотрит на файл в будущем. Вторая строка добавляет новую функцию под названием « cdls », которая принимает аргумент (имя каталога), затем изменяет рабочий каталог на это место и сразу же запускает команду « ls » в этом каталоге.

РЕДАКТИРОВАТЬ: Пожалуйста, см. Комментарии от Селады и Дерберта о ответе Стив.

Проверьте, доступен ли $ HOME / .bashrc для записи, пытаясь ничего добавить к нему:

 echo "" >> $HOME/.bashrc && 

Если тест прошел успешно, файл доступен для записи, добавьте к нему функцию. Так что при запуске cdls foo отобразится цветной каталог с каталогом «foo».

 echo "function cdls { cd "$1"; ls --color;}" >> $HOME/.bashrc 
  • как извлечь некоторые строки в файл данных по сравнению с другим файлом данных? (слияние)
  • Запрос ввода пользователя при чтении файла по строкам
  • Тайм-аут `idql` в ksh
  • Сценарий OSX bash для запуска один раз на Terminal.app open
  • Команда find и rm не подчиняется исключающему списку
  • Пересылка электронной почты в виде вложения с помощью сценария оболочки bash или applescript
  • Печать файла с количеством жестких ссылок
  • Как сгенерировать Zipf-подобные образцы, используя язык сценариев
  • Окно GTK gtkdialog для создания ссылки
  • Копирование последнего измененного файла из нескольких каталогов
  • Как проверить программные переменные среды SLURM?
  • Linux и Unix - лучшая ОС в мире.