Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/47: Рейтинг темы: голосов - 47, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 19

Как передать имя каталога через параметры командной строки?

19.05.2013, 09:05. Показов 10309. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всех приветствую и вновь обращаюсь к вашей помощи!
Текст задания сам вот какой - Вывести на экран содержимое корневого каталога. Образовать в пользовательском каталоге еще подкаталог, имя каталога задает пользователь через параметры при запуске командного файла. Перейти в новый подкаталог. В нем создать файл, осуществить проверку, создан ли файл. Переименовать созданный файл. Вывести текущее время на экран. Удалить образованный каталог. Во вновь созданный каталог скопировать два файла.

Помогите разобраться)

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash
dir /
mkdir userfolder
cd userfolder
echo "vvedite nazvanie kataloga"
read 1
mkdir $1
cd $1
echo "new txt file" > newfile.txt
if [-f newfile.txt]
then echo "file created"
else 
echo "file NOT created"
mv $1 $2
date
cd userfolder
rm $1
touch file1.txt file2.txt
mkdir newfoler
cp file1.txt file2.txt newfolder
fi
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.05.2013, 09:05
Ответы с готовыми решениями:

Как в Dev C++ передать параметры командной строки
Мне необходимо данные брать из файла. Путь к файлу нужно передавать как параметр командной строки argv. Подскажите пожалуйста как это...

NASM - передать имя файла для инклюда как макрос из командной строки
Привет! Достался мне в наследство код, написанный на nasm'е. Для компиляции используется такая система: где то в коде есть такая строка...

Передать параметры командной строки WinExec
Надо программно заархивировать один файл, к примеру, file.txt. Из консоли это работает так: Rar.exe a archiv.rar file.txt Пробовал...

7
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
19.05.2013, 09:13
Цитата Сообщение от el3shka Посмотреть сообщение
Bash
1
2
3
echo "vvedite nazvanie kataloga"
read 1
mkdir $1
это не так делается
тебе не нужно его вводить

Bash
1
./script.sh dir
dir уже будет в переменной $1
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 19
19.05.2013, 09:21  [ТС]
То есть 3 эти строки вообще не нужны?
Просто написать вначале эту строку -
Bash
1
 ./script.sh dir
Но пользователь ведь должен сам задавать имя каталога в который мы переходим, а потом где создаем файл и проверяем на наличие созданного файла, как это будет выглядеть тогда?
Я не совсем вас понял)
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
19.05.2013, 10:07
Цитата Сообщение от el3shka Посмотреть сообщение
Просто написать вначале эту строку
это запуск скрипта
запуская скрипт, добавляешь аргумент к имени; он записывается сам в переменную $1 в скрипте

Цитата Сообщение от el3shka Посмотреть сообщение
То есть 3 эти строки вообще не нужны?
третья нужна, первые две - нет

Добавлено через 4 минуты
Цитата Сообщение от el3shka Посмотреть сообщение
Bash
1
echo "file NOT created"
вот, к примеру, берём одну команду из твоего скрипта
она состоит из вызова программы echo и одного аргумента командной строки

Bash
1
echo "file NOT created" "file NOT created"
а эта команда состоит из вызова программы echo и двух аргументов командной строки
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 19
19.05.2013, 10:17  [ТС]
Хорошо, все, что написано выше - я понял.
Но возникла проблема с запуском скрипта - он вообще не находится. "File not found" - и все.
Может есть возможность сделать иначе? Так сказать - топорно, но чтобы работало?
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
19.05.2013, 10:30
Цитата Сообщение от el3shka Посмотреть сообщение
он вообще не находится. "File not found" - и все
ну да, это же пример, имя скрипта нужно написать то, в котором находится первоначальный код
0
0 / 0 / 0
Регистрация: 15.11.2012
Сообщений: 19
19.05.2013, 10:38  [ТС]
Т.е. - тот путь, где сам лежит файл сценария? Как я понял, то выглядеть будет примерно так:
Bash
1
/home/ubuntu/script.sh dir
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
19.05.2013, 12:28
Цитата Сообщение от el3shka Посмотреть сообщение
Bash
1
/home/ubuntu/
можно просто зайти в эту папку
и выполнить скрипт через
Bash
1
./script.sh
а чтобы аргумент передать, имя каталога
Bash
1
./script.sh dirname
и внутри скрипта этот аргумент будет под именем $1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.05.2013, 12:28
Помогаю со студенческими работами здесь

Передать параметры в скрипт через ключи командной строкии
Привет всем! Обясните мне, непутевому, как передать входящие параметры в скрипт с консоли? Хочу сделать следующее: - подключиться...

Передать пакетному файлу имя каталога через параметр
Создать новый каталог и перенести туда все текстовые файлы с другого каталога и все его подкаталогов и содержание нового каталога вывести...

Вывести файлы каталога, имя которого указано в первом аргументе командной строки, измененные в високосные года
Выведите на экран файлы каталога, имя которого указано в первом ар- гументе командной строки, измененные в високосные года. Написать...

Через командную строку передать имя каталога и удалить этот каталог.
Здравствуйте, помогите пожалуйста с задачкой, задание в топе... Обработку командной строки необходимо организовать в виде макроса или...

Передача дескрипторов через параметры командной строки
Проблема такая. Я через параметры командной строки передаю Дескрипторы в дочерний процесс. В этом дочернем процессе, с помощью этих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru