Похожие вопросы

Как я могу удалить fuse-ext2 и macfuse на Mac OS X
Как восстановить сеанс iterm2/zsh после перезагрузки?
Safari и Chrome не будут использовать веб-прокси (HTTP) в OS X El Capitan
Где я могу найти свой (текущий процесс оболочки) PID?
Создание загрузочного USB OSX из dmg на Linux
Как поставить в очередь несколько файлов для копирования на Mac?
WD паспорт не монтируется
Не удается сохранить файл Photoshop на компьютере Mac во время синхронизации Google Диска
Как разделить MBR внешний жесткий диск на Mac?
Firefox - черная полоса, скрывающая панель вкладок при использовании внешнего монитора 4K
Как восстановить удаленный файл, который все еще открыт?
Почему на моем только что отформатированном диске 450 МБ данных?
HTML-редактор так же просто, как TextEdit
Отключить подсказки автозаполнения на iTerm2
Каков правильный способ найти и выбросить ненужные файлы, когда ваш диск заполнен на Mac OS X? [дубликат]

Скрипт на CD и LS автоматически на macOS

я запускаю macOS Sierra и пытаюсь написать сценарий оболочки, который позволит мне использовать одну команду для cd и ls в то же время. Я ухожу из этой ветки, но не удалось адаптировать его к моему сценарию.

каталог: /usr/local/bin/

имя файла: cdls

код:

#!/bin/bash
cdls() { builtin cd "$@" && ls; }

Я никогда не писал скрипт оболочки, кроме простого echo hello world файл, так что, если вы могли бы указать мне справа направление было бы потрясающим. Благодаря.

EDIT:/usr/local/bin в моем PATH

5
задан Jay
источник

2 ответов

я бы сделать это, введя следующее в терминале:

. cdls /usr/local/bin/

здесь cdls это сценарий bash, хранящийся в моем $PATH:

#!/bin/bash
cd 
ls

. в терминальной команде sources скрипт, а не с помощью подоболочки.

в скрипте bash принимает usr/local/bin/ (заданный в командной строке) в качестве аргумента.

вы можете заменить С любым другим каталогом в скрипте, если вы всегда хотели cdls в определенную директорию.

что касается другого вопроса, на которые вы ссылались. Верхний ответ рекомендует следующее:

cdls() { cd "$@" && ls; }

, который является функцией и должен быть вставлен в код .bash_profile (для macOS) или .bashrc (для Linux), а не использоваться в bash-скрипт.

1
отвечен John Godlee 2017-07-27 18:51:55
источник

пример, который вы получили от этого thead, предназначен для создания функции bash, которую вы бы поместили в свой .profile. Если вы хотите создать скрипт вместо добавления функции в профиль, ваш скрипт должен выглядеть следующим образом.

#!/bin/bash
builtin cd "$@" && ls
2
отвечен Zoredache 2017-07-27 18:39:40
источник

Другие вопросы macos shell-script terminal