Помогите с ошибкой в баше по линуксу

компьютеры Компьютеры программирование Linux unix

вообщем код следующий:

#!/bin/bash

clear

echo "Поуль Эдуард"
echo "Лабораторная работа №2"
echo "По курсу: Unix"
echo ""
echo "Пожалуйста, введите имя каталога:"

read papka1
cd $papka1

echo ""
echo "Содержимое каталога (только файлы)'"$papka1"':"
ls *.*

echo ""
echo "Введите имя файла для дальнейшего определения его жестких ссылок:"

read file1

ls -li $file1 >myfile.txt
a1 = 'head -n 1 <myfile.txt'
$a1 > tst.txt

echo ""
echo "Жесткие ссылки файла:"
find -xdev -inum $a1


И последняя команда
find -xdev -inum $a1
не пашет, так как пишет что у -inum отсутствует аргумент, но в а1 число же есть, а если вместо а1 написать число то команда сработает, а с переменно1 а1 не пашет

Примечание:
все равно не пашет

Примечание:
в кавычках все равно не пашет
read file1

ls -li $file1 >myfile.txt
a1='head -n 1 <myfile.txt'

echo ""
echo "Жесткие ссылки файла:"
find -xdev -inum "$a1"

пишет:
Жесткие ссылки файла:
find: отсутствует аргумент у `-inum'

Примечание:
read file1

ls -li $file1 > myfile.txt
a1='head -n 1 myfile.txt'

$a1 > tst.txt

echo ""
echo "Жесткие ссылки файла:"

[[ -z $a1 ]] && echo '"$a1" is empty' || find -xdev -inum "$a1"

Да ошибка, и знаю, что знаний мало, только ведь учу, поговорю тогда с преподом
Ответы:
Присваивание пишется без пробела.
Неверно:
a1 = 'head -n 1 <myfile.txt'
Верно:
a1='head -n 1 <myfile.txt'
Кэп намекает что $a1 это не имя файла, это команда head -n 1 траляля. Чтобы сделать как надо надо использовать тильдовые кавычки `` и результат выполнения команды был в a1, но тогда не заработает $a1> tst.txt
>А про присваивание без пробела конечно полный бред - как угодно с условием что в кавычках будет.
$ a1=1
$ find -xdev -inum "$a1"
./.gvfs
ls -li | awk '{print $3}'
Но с преподом всё равно полезно поговорить.


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.