webForumDet fria alternativet

Enkel kommandofil

6 svar · 476 visningar · startad av Addeladde

AddeladdeMedlem sedan jan. 20013 406 inlägg
#1

Hej

Jag ska göra en fil som skriver ut följande när den körs:

Hej användare!
Ha en bra dag!

Där användare ska bytas ut mot den inloggade användaren.

Jag får nästan till det men jag utoppstecknet hamnar på en ny rad hur löser jag det?

#!/bin/bash

clear
echo -e "Hej \c"
whoami
echo "1"
echo "Ha en bra dag!

Ni kanske förstår att jag håller på att lära mig linux för denna kommandofil kan man inte ha någon som helst användning av. :)

sgtpepperMedlem sedan apr. 20007 588 inlägg
#2

Använd $USER-miljövariabeln:

echo -e "Hej $USER!"
echo "Ha en bra dag!"

eller gör så här:

echo -e "Hej "`whoami`"!"
echo "Ha en bra dag!"
AddeladdeMedlem sedan jan. 20013 406 inlägg
#3

Hej jag får $USER att fungera men hur vad är ` för tecken? Vilken knapp trycker man på?

Jag får det inte att fungera i all fall och jag har tryckt på de tecknen som liknar den.

Känner mig asdum

ViktorMedlem sedan aug. 20021 752 inlägg
#4

Du måste tycker på det tecknet (Shift+[Tangenten brevid backspace]) och sedan skriva något mer teckan för att det ska synas.

/Viktor

sgtpepperMedlem sedan apr. 20007 588 inlägg
#5

Addeladde skrev:

Hej jag får $USER att fungera men hur vad är ` för tecken?

Jag vet faktiskt inte vad tecknet heter, det är någon specialvariant av enkelfnutt :).

Det som händer i vart fall är att om du skriver ett kommando innanför dessa enkelfnuttar så kommer kommandot att köras och dess utdata hamnar i strängen.

AddeladdeMedlem sedan jan. 20013 406 inlägg
#6

Ok tack!

pongoMedlem sedan aug. 200325 inlägg
#7

` kallas ofta för backtick.

133 ms totalt · 3 externa anrop · v20260731065814-full.ca5a5675
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)